xyz*_*xyz 49 javascript expando
什么是javascripts中的expando对象?
出于什么目的我们需要这个?任何完整的例子将不胜感激
我在这里找到了1篇文章Javascript:Web开发的红头发的继子
Dav*_*und 41
好吧,在javascript中,任何对象都是一个expando对象.这意味着,正如文章所述,每当您尝试访问属性1时,它将自动创建.
var myObj = {}; // completely empty object
myObj.myProp = 'value';
Run Code Online (Sandbox Code Playgroud)
分配myProp值时,属性myProp是动态创建的,尽管之前不存在.在许多其他语言中,例如C#,这通常是不可能的(实际上C#也刚刚启用了expando对象支持,但除此之外).要在C#中访问普通类中的属性,您需要在类中指定它确实具有此属性.
1不太正确.请参阅下面的npup评论以获得澄清.
Abh*_*jit 10
除了原始类型(字符串,数字,布尔值)之外的所有内容都是对象并支持Key:values结构.可以使用点表示法和方括号访问和设置属性(键).
var myObj = {};
myObj.myProp1 = 'value1'; //works, an expando property
myObj[myProp2] = 'value2'; // doesn't work, myProp2 is an undefined name.
myObj['myProp2'] = 'value2'; // works , an expando property
myObj[2010]= 'value'; //note the key is number, still works, an expando property??
myObj.2010 = 'value'; // FAILS. to use dot notation, key must be a string
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
21073 次 |
| 最近记录: |