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 相关文章推荐
解析DHTML,JavaScript,DOM,BOM以及WEB标准的描述
Jun 19 Javascript
JS 屏蔽键盘不可用与鼠标右键不可用的方法
Nov 18 Javascript
javascript正则表达式参数/g与/i及/gi的使用指南
Aug 27 Javascript
jQuery实现长按按钮触发事件的方法
Feb 02 Javascript
浅谈js中test()函数在正则中的使用
Aug 19 Javascript
three.js实现围绕某物体旋转
Jan 25 Javascript
vue-router 学习快速入门
Mar 01 Javascript
浅谈Node 调试工具入门教程
Mar 20 Javascript
vue以组件或者插件的形式实现throttle或者debounce
May 22 Javascript
ES6扩展运算符和rest运算符用法实例分析
May 23 Javascript
vue组件讲解(is属性的用法)模板标签替换操作
Sep 04 Javascript
原生JavaScript实现购物车
Jan 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
使用array_map简单搞定PHP删除文件、删除目录
2014/10/29 PHP
yii的CURD操作实例详解
2014/12/04 PHP
php截取指定2个字符之间字符串的方法
2015/04/15 PHP
表单提交错误后返回内容消失问题的解决方法(PHP网站)
2015/10/20 PHP
PHP实现的线索二叉树及二叉树遍历方法详解
2016/04/25 PHP
用jscript实现新建和保存一个word文档
2007/06/15 Javascript
Js 中debug方式
2010/02/07 Javascript
javascript一些实用技巧小结
2011/03/18 Javascript
JavaScript自执行闭包的小例子
2013/06/29 Javascript
使用jquery hover事件实现表格的隔行换色功能示例
2013/09/03 Javascript
各浏览器对document.getElementById等方法的实现差异解析
2013/12/05 Javascript
PHP守护进程实例
2015/03/06 Javascript
在linux中使用包管理器安装node.js
2015/03/13 Javascript
javascript委托(Delegate)blur和focus用法实例分析
2015/05/26 Javascript
Javascript中replace()小结
2015/09/30 Javascript
Vue全局分页组件的实现代码
2018/08/10 Javascript
JS运算符简单用法示例
2020/01/19 Javascript
Array.filter中如何正确使用Async
2020/11/04 Javascript
react中hook介绍以及使用教程
2020/12/11 Javascript
[05:39]2014DOTA2西雅图国际邀请赛 淘汰赛7月14日TOPPLAY
2014/07/14 DOTA
总结Python中逻辑运算符的使用
2015/05/13 Python
Win7 64位下python3.6.5安装配置图文教程
2020/10/27 Python
python 将对象设置为可迭代的两种实现方法
2019/01/21 Python
python-django中的APPEND_SLASH实现方法
2019/06/21 Python
python提取log文件内容并画出图表
2019/07/08 Python
python SVM 线性分类模型的实现
2019/07/19 Python
Python实现图片添加文字
2019/11/26 Python
django框架使用views.py的函数对表进行增删改查内容操作详解【models.py中表的创建、views.py中函数的使用,基于对象的跨表查询】
2019/12/12 Python
Flask和pyecharts实现动态数据可视化
2020/02/26 Python
python爬虫scrapy图书分类实例讲解
2020/11/23 Python
使paramiko库执行命令时在给定的时间强制退出功能的实现
2021/03/03 Python
美国职棒大联盟的官方手套、球和头盔:Rawlings
2020/02/15 全球购物
中专生毕业个人鉴定
2014/02/26 职场文书
慈善晚会策划方案
2014/05/14 职场文书
个人收入证明范本
2014/09/18 职场文书
优秀团员主要事迹范文
2015/11/05 职场文书