时间:2021-05-02
目标:js的属性名可以使用变量
举例:js对象object,当赋给该对象属性的时候可以采用以下方式
复制代码 代码如下:
也可以采用如下方式:
在这里prop1 作为属性名称,可以直接用,也可以加上引号,比如:
表达的含义都是一样的,也就是说,prop1只能作为常量被识别,即使它是个变量也没用,例如:
这样通过object访问prop2会出现什么情况呢?比如:
不用问,当然是undefined,而访问object.prop1却是"value1"
原因已经说过了,无论加不加引号,属性一律当成常量对待.再举一个例子:
复制代码 代码如下:
var arr=[];
arr['js']='jquery';
arr['css']='oocss';
var obj={};
for(var i in arr)
{
obj.i=arr[i];
}
alert(obj.js);
读者不放猜一下alert会打印什么?
当然是undefined.
大家再猜一下,如果alert(obj.i)会打印什么?
当然是oocss,为什么?因为obj现在只有一个属性i,而且通过两次循环,obj.i前面的被后面的覆盖掉.
如果有需求,需要动态添加属性,也就是说,属性也必须是一个变量才行,如上例代码,alert(obj.js)不是undefined,而是jquery,该如何修改呢?
复制代码 代码如下:
var arr=[];
arr['js']='jquery';
arr['css']='oocss';
var obj={};
for(var i in arr)
{
obj[i]=arr[i];
}
alert(obj.js);
就是那么简单!把对象obj当成一个数组来对待,它支持使用类似于下标形式的方法来把属性和属性值赋给对象.但是,对象依然是对象,obj.length是不存在的.
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
所谓可变变量,就是一个变量的变量名可以动态的设置和使用。语法形式是PHP的特殊语法,其他语言中少见有时候使用可变变量名是很方便的。就是说,一个变量的变量名可以动
序言当我们要同时启用多个项目而又要使用不同端口或者变换配置属性时,我们可以在配置文件中设置${变量名}的变量来获取启动时传入的参数,从而实现了动态配置参数,使启
属性实际上和成员变量没什么区别,属性代表类的某种特征,让人更好理解而已.使用中注意问题:1、属性名和变量名不能相同,2、一般变量都是private,属性都是pu
动态变量名赋值在使用tkinter时需要动态生成变量,如动态生成var1...var10变量。使用exec动态赋值exec在python3中是内置函数,它支持p
动态变量名赋值在使用tkinter时需要动态生成变量,如动态生成var1...var10变量。使用exec动态赋值exec在python3中是内置函数,它支持p