JS访问对象两种方式区别解析


Posted in Javascript onAugust 29, 2020

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

1.对象名.属性名

对象名.方法名()

2.对象名["属性名"]

 对象名"方法名"

var obj = {
         name : "小明",
         age : 18,
         say : function(){
           console.log("我是"+this.name+"我"+this.age+"岁");
         }      
     };
     console.log(obj.name);
     console.log(obj["name"]);
     obj.say();
     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]);//输出对应的属性值和方法,方法未调用所以输出的是方法的代码
    }

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
JS delegate与live浅析
Dec 21 Javascript
JavaScript对象数组排序实例方法浅析
Jun 15 Javascript
jQuery 3.0十大新特性最终版发布
Jul 14 Javascript
使用jquery.qrcode.js生成二维码插件
Oct 17 Javascript
浅谈javascript中执行环境(作用域)与作用域链
Dec 08 Javascript
Angular5.0 子组件通过service传递值给父组件的方法
Jul 13 Javascript
Vue父子组件双向绑定传值的实现方法
Jul 31 Javascript
解决Vue+Element ui开发中碰到的IE问题
Sep 03 Javascript
详解React中合并单元格的正确写法
Jan 08 Javascript
微信小程序结合mock.js实现后台模拟及调试
Mar 28 Javascript
JavaScript如何实现监听键盘输入和鼠标监点击
Jul 20 Javascript
微信小程序实现滚动Tab选项卡
Nov 16 Javascript
js在HTML的三种引用方式详解
Aug 29 #Javascript
toString.call()通用的判断数据类型方法示例
Aug 28 #Javascript
你不知道的 TypeScript 高级类型(小结)
Aug 28 #Javascript
js和jquery判断数据类型的4种方法总结
Aug 28 #jQuery
Node在Controller层进行数据校验的过程详解
Aug 28 #Javascript
Postman无法正常返回结果问题解决
Aug 28 #Javascript
Vue+Element UI 树形控件整合下拉功能菜单(tree + dropdown +input)
Aug 28 #Javascript
You might like
PHP网页游戏学习之Xnova(ogame)源码解读(一)
2014/06/23 PHP
php抓取并保存网站图片的实现代码
2015/10/28 PHP
php连接mysql数据库
2017/03/21 PHP
PHP读取Excel类文件
2017/05/15 PHP
非常好的js代码
2006/06/27 Javascript
使一个函数作为另外一个函数的参数来运行的javascript代码
2007/08/13 Javascript
jquery text,radio,checkbox,select操作实现代码
2009/07/09 Javascript
jquery下为Event handler传递动态参数的代码
2011/01/06 Javascript
jQuery最佳实践完整篇
2011/08/20 Javascript
javaScript 利用闭包模拟对象的私有属性
2011/12/29 Javascript
减少访问DOM的次数提升javascript性能
2014/02/24 Javascript
jQuery实现不断闪烁文字的方法
2015/05/15 Javascript
JavaScript数据类型学习笔记分享
2016/09/01 Javascript
值得分享的bootstrap table实例
2016/09/22 Javascript
基于jQuery实现滚动切换效果
2016/12/02 Javascript
捕获未处理的Promise错误方法
2017/10/13 Javascript
Vue异步加载about组件
2017/10/31 Javascript
浅谈MUI框架中加载外部网页或服务器数据的方法
2018/01/31 Javascript
echarts实现地图定时切换散点与多图表级联联动详解
2018/08/07 Javascript
angularJs中orderBy筛选以及filter过滤数据的方法
2018/09/30 Javascript
使用JavaScript和MQTT开发物联网应用示例解析
2020/08/07 Javascript
js屏蔽F12审查元素,禁止修改页面代码等实现代码
2020/10/02 Javascript
[56:00]DOTA2上海特级锦标赛主赛事日 - 4 胜者组决赛Secret VS Liquid第一局
2016/03/05 DOTA
[36:33]完美世界DOTA2联赛PWL S2 LBZS vs Forest 第二场 11.29
2020/12/02 DOTA
网红编程语言Python将纳入高考你怎么看?
2018/06/07 Python
django 微信网页授权登陆的实现
2019/07/30 Python
pycharm下pyqt4安装及环境配置的教程
2020/04/24 Python
美国爆米花工厂:The Popcorn Factory
2019/09/14 全球购物
《赵州桥》教学反思
2014/02/17 职场文书
金融管理应届生求职信
2014/02/20 职场文书
校车安全责任书
2014/08/25 职场文书
大学运动会通讯稿
2015/07/18 职场文书
礼仪培训心得体会
2016/01/22 职场文书
2016年圣诞节义工活动总结
2016/04/01 职场文书
PostgreSQL解析URL的方法
2021/08/02 PostgreSQL
关于EntityWrapper的in用法
2022/03/22 Java/Android