JS中访问对象的两种方式
JS中访问对象的两种方式
一、总结
一句话总结:
访问对象的属性和方法都可以用 点 . 和 中括号 [] 两种方式
1.对象名.属性名 对象名.方法名()
2.对象名["属性名"] 对象名["方法名"]()
二、JS中访问对象的两种方式区别
转自或参考:JS中访问对象的两种方式区别
https://www.cnblogs.com/yucheng6/p/9650814.html
可以使用下面两种方式访问对象的属性和方法
1.对象名.属性名 对象名.方法名()
2.对象名["属性名"] 对象名["方法名"]()
1 var obj = { 2 name : "小明", 3 age : 18, 4 say : function(){ 5 console.log("我是"+this.name+"我"+this.age+"岁"); 6 } 7 }; 8 console.log(obj.name); 9 console.log(obj["name"]); 10 obj.say(); 11 obj["say"]();
对于已经存在的属性和方法,用.和用[]得到的结果一致、
对于不存在(未定义)的属性和方法,用.会创建这个新的属性或方法,而用[]的方式访问不会创建新的属性或方法
例如在用for-in遍历对象时
for(var x in obj){ console.log(x); //输出obj中的属性名,方法名 console.log(obj.x);//想要用.的方法输出对应的属性和方法 结果是undefined,原因在于JS语言中.方法可以用来声明,声明对象属性的方式就是属性名.属性值
//这里实际先声明了obj的x属性,并且未初始化该属性,然后输出了该属性值,所以为undefined
}
利用[]方式只能访问和读取,不会定义新的属性
for(var x in obj){ console.log(x); //输出obj中的属性名,方法名 console.log(obj[x]);//输出对应的属性值和方法,方法未调用所以输出的是方法的代码 }
版权申明:欢迎转载,但请注明出处
一些博文中有一些参考内容因时间久远找不到来源了没有注明,如果侵权请联系我删除。
在校每年国奖、每年专业第一,加拿大留学,先后工作于华东师范大学和香港教育大学。
2024-10-30:27岁,宅加太忙,特此在网上找女朋友,坐标上海,非诚勿扰,vx:fan404006308
AI交流资料群:753014672