我想假装Javascript中的命名空间。这可以按如下方式完成:
var cars = {};
cars.car = function() {
...
}
cars.car.prototype = {
drive: function() {
...
}
}
工作正常。然而,我的问题是,如果我可以使用JSON直接填充整个命名空间,如下所示:
var cars = {
car: function() {
...
},
car.prototype: {
drive: function() {
...
}
}
}
这不起作用。我可以以某种方式在car()函数中声明汽车的原型吗?或者还有另一种解决方法吗?
答案 0 :(得分:1)
马上,您需要在JSON对象(JavaScript对象文字)中使用:(“属性赋值运算符”)而不是=(“赋值运算符”)。您也不能在对象文字的属性赋值的左侧使用属性访问器(。或[])。
我认为你需要在JavaScript中至少有两个语句(1)声明一个函数表达式,(2)分配它的原型。这会阻止你做你所描述的(“用JSON直接填充整个命名空间)。我不确定你为什么要这样做 - 运行两个JavaScript语句对于大多数目的都是好的。” / p>