分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 教程案例

JS中访问对象的两种方式区别

发布时间:2023-09-06 02:14责任编辑:蔡小小关键词:暂无标签

可以使用下面两种方式访问对象的属性和方法

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]);//输出对应的属性值和方法,方法未调用所以输出的是方法的代码 ???????}

JS中访问对象的两种方式区别

原文地址:https://www.cnblogs.com/yucheng6/p/9650814.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved