oojavascript。物业问题
我来自OOP语言(Java、C#和PHP)。我只是在用Javascript进行一些OOP,对如何定义属性感到非常困惑。下面的代码基于一个Mozilla代码示例,与我正在使用的代码相同。我还包括了我认为应该声明属性的方式,但似乎不起作用oojavascript。物业问题,javascript,Javascript,我来自OOP语言(Java、C#和PHP)。我只是在用Javascript进行一些OOP,对如何定义属性感到非常困惑。下面的代码基于一个Mozilla代码示例,与我正在使用的代码相同。我还包括了我认为应该声明属性的方式,但似乎不起作用 var myExtension = { // This is how I thought it'd be done this.instructionServers = new Array( "http://server.com/json.php"
var myExtension = {
// This is how I thought it'd be done
this.instructionServers = new Array(
"http://server.com/json.php",
),
init: function() {
// The event can be DOMContentLoaded, pageshow, pagehide, load or unload.
if(gBrowser) {
gBrowser.addEventListener("DOMContentLoaded", this.onPageLoad,false);
}
},
onPageLoad: function(aEvent) {
var doc = aEvent.originalTarget; // doc is document that triggered the event
var win = doc.defaultView; // win is the window for the doc
// Skip frames and iFrames
if (win.frameElement) return;
// Code removed
}
你应该
var myExtension = {
instructionServers: ["http://server.com/json.php"],
// ...
};
或者,您也可以直接在JavaScript中分配属性,如
myExtension.instructionServers = ["http://server.com/json.php"];
这将使instructionserver
成为myExtension
的数组属性。然后可以使用
myExtension.instructionServers
或
另外,请注意,在JavaScript中,您可以使用方便的数组文本
['hello', 3]
相当于更加冗长和气馁
new Array('hello', 3)
你应该
var myExtension = {
instructionServers: ["http://server.com/json.php"],
// ...
};
或者,您也可以直接在JavaScript中分配属性,如
myExtension.instructionServers = ["http://server.com/json.php"];
这将使instructionserver
成为myExtension
的数组属性。然后可以使用
myExtension.instructionServers
或
另外,请注意,在JavaScript中,您可以使用方便的数组文本
['hello', 3]
相当于更加冗长和气馁
new Array('hello', 3)
从技术上讲,init本身就是一个属性,只是一个function类型的属性。要声明字符串属性,只需按上述方法设置一个字符串属性
要在对象内部引用该属性,请使用
这个
从技术上讲,init本身就是一个属性,只是一个function类型的属性。要声明字符串属性,只需按上述方法设置一个字符串属性
要在对象内部引用该属性,请使用
这个
您使用的是对象表示法(想想JSON),因此没有“=”。应该是:
指令服务器:[”http://server.com/json.php“],您使用的是对象表示法(想想JSON),因此没有“=”。应该是:
指令服务器:[”http://server.com/json.php“],真正摸索JavaScript的
这个是理解语言的关键。@AutoSponge--这个总是有价值的。如果您在全局范围内,则它是全局对象(web浏览器中的DOMWindow),您不能在变量定义中使用this
来引用开始定义的对象@divad12在变量定义中有正确的方法来实现这一点。JavaScript也是一种OO语言。。。只需说:)真正摸索JavaScript的这个
是理解语言的关键。@AutoSponge--这个
总是有价值的。如果您在全局范围内,则它是全局对象(web浏览器中的DOMWindow),您不能在变量定义中使用this
来引用开始定义的对象@divad12在变量定义中有正确的方法来实现这一点。JavaScript也是一种OO语言。。。只是说:)对象文本不应该与JSON混淆。它们看起来很相似,但却是两个不同的东西。我并不是指字面上的意思,而是指符号。抱歉,应该更具体一点。对象文字不应该与JSON混淆。它们看起来很相似,但却是两个不同的东西。我并不是指字面上的意思,而是指符号。对不起,应该更具体一点。