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 相关文章推荐
JavaScript的单例模式 (singleton in Javascript)
Jun 11 Javascript
JS 毫秒转时间示例代码
Sep 22 Javascript
javascript模拟订火车票和退票示例
Apr 24 Javascript
iframe中子父类窗口调用JS的方法及注意事项
Aug 25 Javascript
jQuery包裹节点用法完整示例
Sep 13 Javascript
原生js更改css样式的两种方式
Mar 15 Javascript
浅谈angularjs依赖服务注入写法的注意点
Apr 24 Javascript
webpack 2.x配置reactjs基本开发环境详解
Aug 08 Javascript
React父子组件间的传值的方法
Nov 13 Javascript
JS事件绑定的常用方式实例总结
Mar 02 Javascript
JS通过识别id、value值对checkbox设置选中状态
Feb 19 Javascript
vue实现标签云效果的示例
Nov 09 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四种排序算法实现及效率分析【冒泡排序,插入排序,选择排序和快速排序】
2018/04/27 PHP
js之WEB开发调试利器:Firebug 下载
2007/01/13 Javascript
在html页面上拖放移动标签
2010/01/08 Javascript
使用jquery为table动态添加行的实现代码
2011/03/30 Javascript
Extjs gridpanel 出现横向滚动条问题的解决方法
2011/07/04 Javascript
javascript权威指南 学习笔记之javascript数据类型
2011/09/24 Javascript
js jq 单击和双击区分示例介绍
2013/11/05 Javascript
JSF中confirm弹出框的用法示例介绍
2014/01/07 Javascript
JS中FRAME的操作问题实例分析
2014/10/21 Javascript
JS实现网页背景颜色与select框中颜色同时变化的方法
2015/02/27 Javascript
javascript实现在指定元素中垂直水平居中
2015/09/13 Javascript
bootstrap实现动态进度条效果
2017/03/08 Javascript
详解从Node.js的child_process模块来学习父子进程之间的通信
2017/03/27 Javascript
jQuery 开发之EasyUI 添加数据的实例
2017/09/26 jQuery
微信小程序实现之手势锁功能实例代码
2018/07/19 Javascript
在Django的URLconf中使用命名组的方法
2015/07/18 Python
Django 前后台的数据传递的方法
2017/08/08 Python
Django model序列化为json的方法示例
2018/10/16 Python
Python对象中__del__方法起作用的条件详解
2018/11/01 Python
简单了解Python matplotlib线的属性
2019/06/29 Python
Pytorch 的损失函数Loss function使用详解
2020/01/02 Python
HTML5实现移动端复制功能
2018/04/19 HTML / CSS
美国家居用品和厨具购物网站:DealsDot
2019/10/07 全球购物
Charles&Keith美国官方网站:新加坡快时尚鞋类和配饰零售商
2019/11/27 全球购物
Haggar官网:美国男装品牌
2020/02/16 全球购物
西班牙鞋子和箱包在线销售网站:zapatos.es
2020/02/17 全球购物
装饰活动策划方案
2014/02/11 职场文书
业绩倒数第一的检讨书
2014/09/24 职场文书
2014年公务员退休工资改革方案
2014/10/01 职场文书
党员民主评议自我评价
2014/10/20 职场文书
初中重阳节活动总结
2015/05/05 职场文书
幼儿园开学家长寄语(2015秋季)
2015/05/27 职场文书
父母教会我观后感
2015/06/17 职场文书
python opencv人脸识别考勤系统的完整源码
2021/04/26 Python
为什么代码规范要求SQL语句不要过多的join
2021/06/23 MySQL
MySQL去除重叠时间求时间差和的实现
2021/08/23 MySQL