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执行顺序
Nov 09 Javascript
jquery下利用jsonp跨域访问实现方法
Jul 29 Javascript
基于jquery tab切换(防止页面刷新)
May 23 Javascript
jQuery固定元素插件scrolltofixed使用指南
Apr 21 Javascript
JQuery中属性过滤选择器用法实例分析
May 18 Javascript
jQuery实现在最后一个元素之前插入新元素的方法
Jul 18 Javascript
JS实现带鼠标效果的头像及文章列表代码
Sep 27 Javascript
JS区分浏览器页面是刷新还是关闭
Apr 17 Javascript
js实现为a标签添加事件的方法(使用闭包循环)
Aug 02 Javascript
jQuery实现定位滚动条位置
Aug 05 Javascript
原生js获取浏览器窗口及元素宽高常用方法集合
Jan 18 Javascript
关于vue v-for 循环问题(一行显示四个,每一行的最右边那个计算属性)
Sep 04 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 项目的方法
2007/01/02 PHP
php 仿Comsenz安装效果代码打包提供下载
2010/05/09 PHP
PHP中的array数组类型分析说明
2010/07/27 PHP
php生成excel列序号代码实例
2013/12/24 PHP
百万级别知乎用户数据抓取与分析之PHP开发
2015/09/28 PHP
laravel5.1框架基础之Blade模板继承简单使用方法分析
2019/09/05 PHP
PHP数组与字符串互相转换实例
2020/05/05 PHP
JS 建立对象的方法
2007/04/21 Javascript
JQuery触发radio或checkbox的change事件
2012/12/18 Javascript
jQuery中操控hidden、disable等无值属性的方法
2014/01/06 Javascript
深入理解JavaScript系列(36):设计模式之中介者模式详解
2015/03/04 Javascript
JavaScript操作cookie类实例
2015/03/31 Javascript
JS实现简单的键盘打字的效果
2015/04/24 Javascript
JavaScript模拟实现键盘打字效果
2015/06/29 Javascript
javascript实现在下拉列表中显示多级树形菜单的方法
2015/08/12 Javascript
jquery控制页面的展开和隐藏实现方法(推荐)
2016/10/15 Javascript
react-router JS 控制路由跳转实例
2017/06/15 Javascript
Vue.js实现按钮的动态绑定效果及实现代码
2017/08/21 Javascript
Vue.js实现输入框绑定的实例代码
2017/08/24 Javascript
JQuery实现ajax请求的示例和注意事项
2018/12/10 jQuery
JavaScript对JSON数组简单排序操作示例
2019/01/31 Javascript
js中switch语句的学习笔记
2020/03/25 Javascript
JavaScript 常见的继承方式汇总
2020/09/17 Javascript
js观察者模式的弹幕案例
2020/11/23 Javascript
[04:05]TI9战队采访 - Natus Vincere
2019/08/22 DOTA
跟老齐学Python之有点简约的元组
2014/09/24 Python
pygame学习笔记(3):运动速率、时间、事件、文字
2015/04/15 Python
Python实现识别手写数字 Python图片读入与处理
2020/03/23 Python
详解Python IO口多路复用
2020/06/17 Python
Python学习之路之pycharm的第一个项目搭建过程
2020/06/18 Python
浅谈OpenCV中的新函数connectedComponentsWithStats用法
2020/07/05 Python
销售主管的自我评价分享
2014/01/03 职场文书
企业战略合作意向书
2015/05/08 职场文书
2015年妇女工作总结
2015/05/14 职场文书
会议主持词结束语
2015/07/03 职场文书
python编写函数注意事项总结
2021/03/29 Python