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操作Xml(向服务器发送Xml,处理服务器返回的Xml)(IE下有效)
Jan 30 Javascript
实现连缀调用的map方法(prototype)
Aug 05 Javascript
jQuery 树形结构的选择器
Feb 15 Javascript
js中top的作用深入剖析
Mar 04 Javascript
Javascript实现图片轮播效果(二)图片序列节点的控制实现
Feb 17 Javascript
Bootstrap实现input控件失去焦点时验证
Aug 04 Javascript
vue通过watch对input做字数限定的方法
Jul 13 Javascript
js禁止Backspace键使浏览器后退的实现方法
Sep 01 Javascript
JavaScript callback回调函数用法实例分析
May 08 Javascript
在 Angular6 中使用 HTTP 请求服务端数据的步骤详解
Aug 06 Javascript
VUE前后端学习tab写法实例
Aug 06 Javascript
Angular短信模板校验代码
Sep 23 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 Streams(流)详细介绍及使用
2015/05/12 PHP
JQuery 构建客户/服务分离的链接模型中Table分页代码效率初探
2010/01/22 Javascript
JavaScript 大数据相加的问题
2011/08/03 Javascript
javascript break指定标签打破多层循环示例
2014/01/20 Javascript
JQuery判断checkbox是否选中及其它复选框操作方法合集
2015/06/01 Javascript
javascript bom是什么及bom和dom的区别
2015/11/26 Javascript
浅谈js中的三种继承方式及其优缺点
2016/08/10 Javascript
全面解析Bootstrap表单样式的使用
2016/09/09 Javascript
js实现一键复制功能
2017/03/16 Javascript
js图片放大镜实例讲解(必看篇)
2017/07/17 Javascript
Angular 项目实现国际化的方法
2018/01/08 Javascript
vue.js根据代码运行环境选择baseurl的方法
2018/02/28 Javascript
在 Linux/Unix 中不重启 Vim 而重新加载 .vimrc 文件的流程
2018/03/21 Javascript
微信小程序sessionid不一致问题解决
2019/08/30 Javascript
浅析Vue 中的 render 函数
2020/02/28 Javascript
jquery实现鼠标悬浮弹出气泡提示框
2020/12/23 jQuery
vue-cli4.0多环境配置变量与模式详解
2020/12/30 Vue.js
[46:47]2014 DOTA2国际邀请赛中国区预选赛 DT VS HGT
2014/05/22 DOTA
Python中matplotlib中文乱码解决办法
2017/05/12 Python
Python中利用xpath解析HTML的方法
2018/05/14 Python
pandas 对每一列数据进行标准化的方法
2018/06/09 Python
django如何连接已存在数据的数据库
2018/08/14 Python
python 获取键盘输入,同时有超时的功能示例
2018/11/13 Python
Python制作exe文件简单流程
2019/01/24 Python
python cv2读取rtsp实时码流按时生成连续视频文件方式
2019/12/25 Python
python 插入日期数据到Oracle实例
2020/03/02 Python
keras输出预测值和真实值方式
2020/06/27 Python
CSS3 Notes: -webkit-box-reflect实现倒影的实例
2016/12/08 HTML / CSS
个人实用简单的自我评价
2013/10/19 职场文书
文明学生标兵事迹
2014/01/21 职场文书
商业计算机应用专业自荐书
2014/06/09 职场文书
银行竞聘上岗演讲稿
2014/09/12 职场文书
开业庆典活动策划方案
2014/09/21 职场文书
考试后的感想
2015/08/07 职场文书
浅谈mysql执行过程以及顺序
2021/05/12 MySQL
Zabbix对Kafka topic积压数据监控的问题(bug优化)
2022/07/07 Servers