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去除空格的几种方法
Oct 03 Javascript
jquery中ajax调用json数据的使用说明
Mar 17 Javascript
JavaScript创建一个欢迎cookie弹出窗实现代码
Mar 15 Javascript
Js和JQuery获取鼠标指针坐标的实现代码分享
May 25 Javascript
js获取及判断键盘按键的方法
Dec 01 Javascript
jquery选择器中的空格与大于号>、加号+与波浪号~的区别介绍
Jun 24 Javascript
文本溢出插件jquery.dotdotdot.js使用方法详解
Jun 22 jQuery
Node.js学习之地址解析模块URL的使用详解
Sep 28 Javascript
微信小程序实现分享到朋友圈功能
Jul 19 Javascript
Vue跨域请求问题解决方案过程解析
Aug 07 Javascript
vue-openlayers实现地图坐标弹框效果
Sep 24 Javascript
Nest.js 授权验证的方法示例
Feb 22 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实现定时执行任务的方法
2014/10/05 PHP
php实现读取内存顺序号
2015/03/29 PHP
详解PHP中cookie和session的区别及cookie和session用法小结
2016/06/12 PHP
PHP登录验证码的实现与使用方法
2016/07/07 PHP
PHP中str_split()函数的用法讲解
2019/04/11 PHP
php探针不显示内存解决方法
2019/09/17 PHP
学习YUI.Ext第七日-View&JSONView Part Two-一个画室网站的案例
2007/03/10 Javascript
为调试JavaScript添加输出窗口的代码
2010/02/07 Javascript
extjs两个tbar问题探讨
2013/08/08 Javascript
解释&&和||在javascript中的另类用法
2014/07/28 Javascript
Javascript基础教程之switch语句
2015/01/18 Javascript
javascript实现可拖动变色并关闭层窗口实例
2015/05/15 Javascript
老生常谈JavaScript 正则表达式语法
2016/08/20 Javascript
jQuery自定义元素右键点击事件(实现案例)
2017/04/28 jQuery
获取url中用&隔开的参数实例(分享)
2017/05/28 Javascript
原生js 封装get ,post, delete 请求的实例
2017/08/11 Javascript
html中通过JS获取JSON数据并加载的方法
2017/11/30 Javascript
react 兄弟组件如何调用对方的方法示例
2018/10/23 Javascript
改进 JavaScript 和 Rust 的互操作性并深入认识 wasm-bindgen 组件
2019/07/13 Javascript
JS实现音乐钢琴特效
2020/01/06 Javascript
如何构建 vue-ssr 项目的方法步骤
2020/08/04 Javascript
基于p5.js 2D图像接口的扩展(交互实现)
2020/11/30 Javascript
[01:03:56]Mineski vs TNC 2018国际邀请赛淘汰赛BO1 8.21
2018/08/22 DOTA
python面向对象_详谈类的继承与方法的重载
2017/06/07 Python
详解Python中的Numpy、SciPy、MatPlotLib安装与配置
2017/11/17 Python
Python代码覆盖率统计工具coverage.py用法详解
2020/11/25 Python
高级工程师岗位职责
2013/12/15 职场文书
陈欧的广告词
2014/03/18 职场文书
共产党员公开承诺书
2014/03/25 职场文书
英语一分钟演讲稿
2014/04/29 职场文书
九一八事变演讲稿
2014/09/05 职场文书
财政局党的群众路线教育实践活动整改方案
2014/09/21 职场文书
商场收银员岗位职责
2015/04/07 职场文书
2015年高中生国庆节演讲稿
2015/07/30 职场文书
初中团委工作总结
2015/08/13 职场文书