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窗口功能指南之在窗口中书写内容
Jul 21 Javascript
不一样的文字闪烁 轮番闪烁
Nov 11 Javascript
jQuery ajax BUG:object doesn't support this property or method
Jul 06 Javascript
js中判断控件是否存在
Aug 25 Javascript
用js判断页面刷新或关闭的方法(onbeforeunload与onunload事件)
Jun 22 Javascript
使用jQuery将多条数据插入模态框的实现代码
Oct 08 Javascript
基于JQuery打造无缝滚动新闻步骤详解
Mar 31 Javascript
Vue中的无限加载vue-infinite-loading的方法
Apr 08 Javascript
详解微信小程序自定义组件的实现及数据交互
Jul 22 Javascript
jsonp格式前端发送和后台接受写法的代码详解
Nov 07 Javascript
封装 axios+promise通用请求函数操作
Aug 11 Javascript
js实现限定区域范围拖拉拽效果
Nov 20 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 二维数组和三维数组的过滤
2016/03/16 PHP
PHP自定义函数获取URL中一级域名的方法
2016/08/23 PHP
php获取微信共享收货地址的方法
2017/12/21 PHP
微信公众号实现扫码获取微信用户信息(网页授权)
2019/04/09 PHP
js停止输出代码
2008/07/20 Javascript
Mootools 1.2教程(3) 数组使用简介
2009/09/14 Javascript
firebug的一个有趣现象介绍
2011/11/30 Javascript
改进版通过Json对象实现深复制的方法
2012/10/24 Javascript
jquery 追加tr和删除tr示例代码
2013/09/12 Javascript
jQuery实现高亮显示网页关键词的方法
2015/08/07 Javascript
Bootstrap选项卡与Masonry插件的完美结合
2016/07/06 Javascript
jQuery事件用法详解
2016/10/06 Javascript
解析JavaScript模仿块级作用域
2016/12/29 Javascript
微信小程序实现瀑布流布局与无限加载的方法详解
2017/05/12 Javascript
JavaScript基本语法_动力节点Java学院整理
2017/06/26 Javascript
微信小程序 密码输入(源码下载)
2017/06/27 Javascript
用vue的双向绑定简单实现一个todo-list的示例代码
2017/08/03 Javascript
Node.js中sequelize时区的配置方法
2017/12/10 Javascript
基于dataset的使用和图片延时加载的实现方法
2017/12/11 Javascript
基于Vue实现关键词实时搜索高亮显示关键词
2018/07/21 Javascript
nodejs log4js 使用详解
2019/05/31 NodeJs
Python实现运行其他程序的四种方式实例分析
2017/08/17 Python
python的numpy模块安装不成功简单解决方法总结
2017/12/23 Python
快速了解Python中的装饰器
2018/01/11 Python
Python pygorithm模块用法示例【常见算法测试】
2018/08/16 Python
Python PyQt5模块实现窗口GUI界面代码实例
2020/05/12 Python
Python通过format函数格式化显示值
2020/10/17 Python
Python+logging输出到屏幕将log日志写入文件
2020/11/11 Python
高三毕业生自我鉴定
2013/12/20 职场文书
档案室主任岗位职责
2014/02/12 职场文书
中国梦主题教育活动总结
2014/05/05 职场文书
禁毒宣传工作方案
2014/05/23 职场文书
人事专员岗位说明书
2014/07/29 职场文书
观看信仰心得体会
2014/09/04 职场文书
大学生实习推荐信
2015/03/27 职场文书
mysql 8.0.27 绿色解压版安装教程及配置方法
2022/04/20 MySQL