gpt4 book ai didi

Javascript 对象请帮忙

转载 作者:行者123 更新时间:2023-12-02 20:30:18 25 4
gpt4 key购买 nike

我正在尝试在 javascript 命名空间中创建一个名为 $browser 的对象,该对象根据功能检测返回 Internet Explorer 版本号。

我在调用对象内的函数ieVersion时遇到问题,并收到错误ieVersion is not Defined

我可以在 $browser 对象外部调用 $browser.ieVersion(),但不能在内部调用。

我想做的是说..

if($browser.ie6){
// run my specific code...
}

任何指示......

更新....我尝试遵循卡萨布兰卡的建议,并更新了代码以反射(reflect)我对他的更改的解释...我现在遇到错误 Expected ':'命名空间.$browser

我的代码....

// Namespace the functions to remove possibility of conflict.
var Namespace = {

/// <summary>
/// The browser object allows detection of ie versions.
/// </summary>
$browser: {

ie6: Namespace.$browser.ieVersion() === 6,

/// <summary>
/// Uses feature detection to return the internet explorer browser number.
/// </summary>
ieVersion: function () {
var $version = 0;
// The browser is IE 6 - 8.
if (!jQuery.support.leadingWhitespace) {

// IE 6 & 7.
if (!jQuery.support.boxModel) {
if (!jQuery.support.opacity && !window.XMLHttpRequest) {
$version = 6;
}
else {
$version = 7;
}
}
else {
$version = 8;
}
}
return $version;
}
},

Namespace.$browser.ie6 = Namespace.$browser.ieVersion() === 6;

};

最佳答案

该行有两个问题:

ie6: ieVersion() === 6

首先,ieVersion 本身指的是全局(而不是函数级)命名空间。您需要将其完全限定为 Namespace.$browser.ieVersion

其次,ieVersion 尚未定义。它仅在创建整个对象后才可用。您不能引用同一对象文字中的另一个函数。因此,您只能在定义整个对象后才能初始化 ie6 属性。

将此行放在命名空间声明下方:

Namespace.$browser.ie6 = Namespace.$browser.ieVersion() === 6;

关于Javascript 对象请帮忙,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4287549/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com