javascript - OO JavaScript。属性(property)问题

标签 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",
),


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"];

这将使 instructionServers 成为 myExtension 的数组属性。然后您可以通过以下方式获取属性的值

myExtension.instructionServers

myExtension['instructionServers']

顺便说一句,请注意,在 JavaScript 中您可以使用方便的数组文字。

['hello', 3]

相当于更冗长和不鼓励的

new Array('hello', 3)

关于javascript - OO JavaScript。属性(property)问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8128509/

相关文章:

javascript - href:链接回上一页上的某个类

javascript - 如何使用html中的按钮标签重定向到页面?

javascript - 使用 Angularjs 或 Jquery 重构 Json

javascript - graphql查询转json查询

javascript - 在 knockout 中否定属性

javascript - 在 Tabris.js 中使用 Websocket api 连接到 socket.io 服务器

javascript - 是否可以创建无限维 JavaScript 数组?

javascript - 使用函数作为回调还是存储它?

javascript - 路由参数更改时刷新组件

javascript - 网站有什么方法可以区分 Microsoft Edge 和 Google Chrome 的渲染引擎吗?