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控制的回到页面顶端goTop的代码实现
Mar 20 Javascript
javascript中parentNode,childNodes,children的应用详解
Dec 17 Javascript
js定时器(执行一次、重复执行)
Mar 07 Javascript
JQuery中基础过滤选择器用法实例分析
May 18 Javascript
基于jQuery+JSON的省市二三级联动效果
Jun 05 Javascript
EasyUI Pagination 分页的两种做法小结
Jul 09 Javascript
JS类的定义与使用方法深入探索
Nov 26 Javascript
JS动态添加元素及绑定事件造成程序重复执行解决
Dec 07 Javascript
详解如何使用babel进行es6文件的编译
May 29 Javascript
JS window对象简单操作完整示例
Jan 14 Javascript
Vue实现背景更换颜色操作
Jul 17 Javascript
微信小程序实现首页弹出广告
Dec 03 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 HTML代码串截取代码
2008/12/29 PHP
PHP 的异常处理、错误的抛出及回调函数等面向对象的错误处理方法
2012/12/07 PHP
php性能分析之php-fpm慢执行日志slow log用法浅析
2016/10/17 PHP
PHP中检索字符串的方法分析【strstr与substr_count方法】
2017/02/17 PHP
thinkphp3.2实现在线留言提交验证码功能
2017/07/19 PHP
另类调用flash无须激活的方法
2006/12/27 Javascript
一个选择最快的服务器转向代码
2009/04/27 Javascript
Javascript 网页水印(非图片水印)实现代码
2010/03/01 Javascript
Jquery命名冲突解决的五种方案分享
2012/03/16 Javascript
用js实现trim()的解决办法
2013/04/16 Javascript
探讨在JQuery和Js中,如何让ajax执行完后再继续往下执行
2013/07/09 Javascript
Jquery的Tabs内容轮换效果实现代码,几行搞定
2014/02/12 Javascript
AspNet中使用JQuery boxy插件的确认框
2015/05/20 Javascript
jQuery实现仿QQ在线客服效果的滚动层代码
2015/10/15 Javascript
js密码强度校验
2015/11/10 Javascript
jquery 点击元素后,滚动条滚动至该元素位置的方法
2016/08/05 Javascript
three.js绘制地球、飞机与轨迹的效果示例
2017/02/28 Javascript
JavaScript字符串_动力节点Java学院整理
2017/06/27 Javascript
你了解vue3.0响应式数据怎么实现吗
2019/06/07 Javascript
Vue组件之高德地图地址选择功能的实例代码
2019/06/21 Javascript
vue路由传参三种基本方式详解
2019/12/09 Javascript
[01:08]DOTA2次级职业联赛 - Wings 战队宣传片
2014/12/01 DOTA
Python装饰器使用实例:验证参数合法性
2015/06/24 Python
在arcgis使用python脚本进行字段计算时是如何解决中文问题的
2015/10/18 Python
python实现报表自动化详解
2017/11/16 Python
python3实现SMTP发送邮件详细教程
2018/06/19 Python
python中ASCII码和字符的转换方法
2018/07/09 Python
python中将zip压缩包转为gz.tar的方法
2018/10/18 Python
Tiqets英国:智能手机上的文化和娱乐门票
2019/07/10 全球购物
政协调研汇报材料
2014/08/15 职场文书
六年级学生评语大全
2014/12/26 职场文书
个人先进材料范文
2014/12/30 职场文书
2015暑期工社会实践报告
2015/07/13 职场文书
2019年度政务公开考核工作总结模板
2019/11/11 职场文书
OpenCV-Python实现轮廓拟合
2021/06/08 Python
Python提取PDF指定内容并生成新文件
2021/06/09 Python