您的位置:首页 > Web前端 > JavaScript

对js对象定义几种方式的理解

2015-06-26 14:51 696 查看
对比以下两个程序

var domain="localhost";

var obj1={domain:"hello,world"};

var obj2={};

obj2[domain]="hello,world";

这两个是截然不同的 obj1.toString()---{domain:"hello,world"}

obj2.toString()---{localhost:"hello,world"}

也就是说通过{ }这种对象字面量直接定义对象,那个属性不管加不加引号,他就是一个字符串,而且这里不能执行任何代码

比如{domain+":8080":"hello,world"} 这是完全错误的

特别是向一个函数传入一个对象的时候,一定要注意

再看一个程序



var obj={};

var input1=document.getElementById("input1");

var input2=document.getElementById("input2");

obj[input1]="input1";

obj[input2]="input2";

注意input1,和input2是两个不同的input元素

现在执行obj.toString();  结果是什么{HTMLInputElement:"input2"}









这个对象并没有因为属性的不同,而创造两个属性

那个因为对象的属性只可能是字符串,就算你传入一个对象,也会自动将这个对象转化成字符串
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: