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中的缓动效果实现程序
Dec 29 Javascript
js判断iframe内的网页是否滚动到底部触发事件
Mar 18 Javascript
字段太多jquey快速清空表单内容方法
Aug 21 Javascript
Javascript之String对象详解
Jun 08 Javascript
原生js实现ajax方法(超简单)
Sep 20 Javascript
JavaScript实现简单的日历效果
Sep 25 Javascript
基于Vue.js实现简单搜索框
Mar 26 Javascript
基于javascript实现按圆形排列DIV元素(一)
Dec 02 Javascript
详解JS中定时器setInterval和setTImeout的this指向问题
Jan 06 Javascript
js常用的继承--组合式继承
Mar 06 Javascript
JavaScrip数组删除特定元素的几种方法总结
Sep 06 Javascript
vue刷新页面时去闪烁提升用户体验效果的实现方法
Dec 10 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
php5新改动之短标记启用方法
2008/09/11 PHP
MongoDB在PHP中的常用操作小结
2014/02/20 PHP
jQuery 行背景颜色的交替显示(隔行变色)实现代码
2009/12/13 Javascript
js 页面传参数时 参数值含特殊字符的问题
2009/12/13 Javascript
javascript客户端遍历控件与获取父容器对象示例代码
2014/01/06 Javascript
jQuery+PHP打造滑动开关效果
2014/12/16 Javascript
jQuery通过Ajax返回JSON数据
2015/04/28 Javascript
JavaScript操作表单实例讲解(上)
2016/06/20 Javascript
jQuery EasyUI tree增加搜索功能的实现方法
2017/04/27 jQuery
在vue项目中引入highcharts图表的方法(详解)
2018/03/05 Javascript
在vue中使用公共过滤器filter的方法
2018/06/26 Javascript
Angular2之二级路由详解
2018/08/31 Javascript
jQuery实现基本淡入淡出效果的方法详解
2018/09/05 jQuery
webpack打包非模块化js的方法
2018/10/24 Javascript
学习RxJS之JavaScript框架Cycle.js
2019/06/17 Javascript
vue 实现把路由单独分离出来
2020/08/13 Javascript
python抓取网页图片并放到指定文件夹
2014/04/24 Python
python实现简单ftp客户端的方法
2015/06/28 Python
Python实现注册登录系统
2017/08/08 Python
python实现简易通讯录修改版
2018/03/13 Python
详解PyTorch批训练及优化器比较
2018/04/28 Python
Face++ API实现手势识别系统设计
2018/11/21 Python
python截取两个单词之间的内容方法
2018/12/25 Python
Python3中的bytes和str类型详解
2019/05/02 Python
python输出结果刷新及进度条的实现操作
2020/07/13 Python
Python中使用Selenium环境安装的方法步骤
2021/02/22 Python
日本最新流行服饰网购:Nissen
2016/07/24 全球购物
智利最大的网上商店:Linio智利
2016/11/24 全球购物
StubHub德国:购买和出售门票
2017/09/06 全球购物
工商管理系学生的自我评价分享
2013/11/29 职场文书
六一儿童节主持词
2014/03/21 职场文书
中专毕业生的自荐书
2014/07/01 职场文书
群众路线剖析材料(四风)
2014/11/05 职场文书
2015年推广普通话演讲稿
2015/03/20 职场文书
评奖评优个人先进事迹材料
2015/11/04 职场文书
2016年教师学习教师法心得体会
2016/01/20 职场文书