dojo.setObject中文文档

    dojo.setObject
        用法
        示例
        参见

根据一个由点号分隔 ‘.’ 的字符串, 例如, “A.B.C” 来设置一个对象属性。
用法¶

在 javascript中, 一个点号分隔的字符串例如 Obj.parent.child 表示,在Obj对象中有一个parent属性,parent属性又有一个child属性。

setObject 让你设置该child属性的值,并且如果该属性的父对象不存在将会自动创建其父对象(parent对象)。

如果没有 dojo.setObject 方法,我们可能会经常看到下面这样的代码段:

// 在设置某个属性前需要检测这个属性所属的对象都必须存在
if(!obj["parent"]){ obj.parent = {}; }
if(!obj.parent["child"]){ obj.parent.child= {}; }

// 现在可以安全的设置某个属性了
obj.parent.child.prop = "some value";

而使用 dojo.setObject, 我们可以把上述代码简化成一句:

dojo.setObject("parent.child.prop", "some value", obj);


示例¶

<script>
    dojo.require("dijit.form.Button");

    // 这个对象开始是个空对象,我们将用 setObject 来填充它的属性
    var obj = {};
    console.log("in head");
</script>

<p>Click button to insert nested value into obj</p>
<button dojoType="dijit.form.Button">
    <script type="dojo/method" event="onClick">
        dojo.setObject('x.y.z', "hi!", obj);
        dojo.byId('resultDiv').innerHTML = dojo.toJson(obj, true);
    </script>
    x.y.z
</button>
<button dojoType="dijit.form.Button">
    <script type="dojo/method" event="onClick">
        dojo.setObject('p.d.q', "world!", obj);
        dojo.byId('resultDiv').innerHTML = dojo.toJson(obj, true);
    </script>
    p.d.q
</button>

<p>Obj:</p>
<div id="resultDiv">
    {}
</div>

你可能感兴趣的:(JavaScript,C++,c,C#,dojo)