我试图了解对象文字的基础知识
window.Test = ({
attribute1:'This is',
attribute2:'a test',
function1: function(){
alert(this.attribute1 + ' ' + this.attribute2);
}
});
//TEST 1
Test.function1(); // "This is a test"
//TEST 2
var tester = new Test(); //ERROR: Object is not a function
tester.function1();
如果我理解正确,则会在窗口对象window.Test =
中创建一个全局变量。这将与. 因此,TEST1 工作是合乎逻辑的。var Test =
在 TEST2 中,我尝试实例化文字,但这是不可能的,因为它是一个变量。我从 Backbone.js 中得到了这个想法,下面的代码确实有效:
window.Product = Backbone.Model.extend({});
var p = new Product();
我希望 Product 在这里也是一个变量,所以没有办法实例化它。
谁能解释 Backbone 示例和我的示例之间的区别?似乎我错过了对文字的一些基本理解。