在JSON块中声明对象及其原型

时间:2010-10-21 08:34:45

标签: javascript json namespaces prototype

我想假装Javascript中的命名空间。这可以按如下方式完成:

var cars = {};
cars.car = function() {
    ...
}
cars.car.prototype = {
    drive: function() {
        ...
    }
}

工作正常。然而,我的问题是,如果我可以使用JSON直接填充整个命名空间,如下所示:

var cars = {
    car: function() {
        ...
    },
    car.prototype: {
        drive: function() {
            ...
        }
    }
}

这不起作用。我可以以某种方式在car()函数中声明汽车的原型吗?或者还有另一种解决方法吗?

1 个答案:

答案 0 :(得分:1)

马上,您需要在JSON对象(JavaScript对象文字)中使用:(“属性赋值运算符”)而不是=(“赋值运算符”)。您也不能在对象文字的属性赋值的左侧使用属性访问器(。或[])。

我认为你需要在JavaScript中至少有两个语句(1)声明一个函数表达式,(2)分配它的原型。这会阻止你做你所描述的(“用JSON直接填充整个命名空间)。我不确定你为什么要这样做 - 运行两个JavaScript语句对于大多数目的都是好的。” / p>

相关问题