js中点与方括号及for...in

╄→尐↘猪︶ㄣ 提交于 2020-03-28 07:10:41

中括号运算符总是能代替点运算符。但点运算符却不一定能全部代替中括号运算符。

当用中括号代替点时,属性名需加双引号。

中括号运算符可以用字符串变量的内容作为属性名。点运算符不能。

中括号运算符可以用纯数字为属性名。点运算符不能。

中括号运算符可以用js的关键字和保留字作为属性名。点运算符不能。

你就记住:属性就用点,变量就用括号

var person = new Object();

person.name = "Nike";
var thisname = "name";

console.log(person.name); //打印Nike
console.log(person["name"]); //打印Nike
console.log(person[thisname]); //打印Nike
console.log(thisname); //打印name

window.onload=function()
{
// var oDiv=document.getElementsByTagName('div')[0];
// oDiv.onclick=function()
// {
// setStyle(oDiv,{
// width:'400px',
// height:'400px',
// background:'red'
// });
// };
// function setStyle(oDiv,json)
// {
// for(var name in json)
// {
// oDiv.style[name]=json[name];
// }
// }
//}


for...in 语句用于遍历/枚举数组或者对象的属性(对数组或者对象的属性进行循环操作)。

语法:
for (变量 in 对象)
{
在此执行代码
}
“变量”用来指定变量,指定的变量可以是数组元素,也可以是对象的属性。

var arr=['a','b','c','d'];
for(var key in arr){
console.log(key);//0 1 2 3
console.log(arr[key]);//a b c d
}

var obj={
name:'leo',
age:'20',
sex:'nan'
}
for(var key in obj){
console.log(key);//name age sex
console.log(obj[key]);//leo 20 nan
}

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!