1

在没有通过谷歌和帖子的帮助之后,这是我的猜测:

var MC = {};
MC.o_p = function ( type ) {
    return {
        model  :  type,
        result :  'continue',
        page   :  {},
        args   :  {},
        server :  {},
        hash   :  localStorage.hash
    }
};

我这样称呼

var obj1 = MC.o_p( 'MUserTry' );

这里的对象 o_p 是 MC 的“范围”。您可以通过上面的调用创建多个实例。字符串 MUserTry 作为变量类型传入并设置为对象属性模型。

这行得通吗?目前我正在从反复试验中休息一下,但我需要的是能够创建具有多个实例的某种形式的对象文字。

有关的

如何从本地范围创建全局的、基于实例的对象?

4

1 回答 1

1

您无法确定结果对象的范围。属性是对象的o_p成员,但函数返回的对象不是。

对象字面量只是{ ... }用于创建对象的语法,因此您要做的是创建一个对象,而不是对象字面量。(创建对象文字可以通过将对象文字的代码放入字符串中并执行该字符串来完成。)

您在滥用构造函数,但它会起作用。将创建一个对象,并调用函数对其进行初始化,然后该对象将被丢弃并由函数返回的对象替换。

只需删除new关键字,以便您进行常规函数调用,它将返回对象。

于 2012-07-30T23:03:22.683 回答