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

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

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

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

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

中括号运算符可以用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
}

posted @ 2017-10-24 14:35  心之所在无畏无惧  阅读(302)  评论(0编辑  收藏  举报