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 相关文章推荐
让插入到 innerHTML 中的 script 跑起来的实现代码
Jul 01 Javascript
extJs 常用到的增,删,改,查操作代码
Dec 28 Javascript
FileUpload 控件 禁止手动输入或粘贴的实现代码
Apr 07 Javascript
js验证整数加保留小数点的简单实例
Dec 02 Javascript
JavaScript生成的动态下雨背景效果实现方法
Feb 25 Javascript
javascript实现链接单选效果的方法
May 13 Javascript
详解JavaScript函数对象
Nov 15 Javascript
JavaScript 上传文件(psd,压缩包等),图片,视频的实现方法
Jun 19 Javascript
Angular使用cli生成自定义文件、组件的方法
Sep 04 Javascript
微信小程序发送短信验证码完整实例
Jan 07 Javascript
Vue使用localStorage存储数据的方法
May 27 Javascript
在vue项目中promise解决回调地狱和并发请求的问题
Nov 09 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支持分块与断点续传文件下载功能代码
2014/05/09 PHP
php函数实现判断是否移动端访问
2015/03/03 PHP
Laravel5.1数据库连接、创建数据库、创建model及创建控制器的方法
2016/03/29 PHP
jquery 多行文本框(textarea)高度变化
2013/07/03 Javascript
js清除input中type等于file的值域(示例代码)
2013/12/24 Javascript
jQuery自定义动画函数实例详解(附demo源码)
2015/12/10 Javascript
常常会用到的截取字符串substr()、substring()、slice()方法详解
2015/12/16 Javascript
jquery插件jquery.dragscale.js实现拖拽改变元素大小的方法(附demo源码下载)
2016/02/25 Javascript
仿百度换肤功能的简单实例代码
2016/07/11 Javascript
jstree创建无限分级树的方法【基于ajax动态创建子节点】
2016/10/25 Javascript
用Vue-cli搭建的项目中引入css报错的原因分析
2017/07/20 Javascript
vue 组件中slot插口的具体用法
2018/04/03 Javascript
基于JS抓取某高校附近共享单车位置 使用web方式展示位置变化代码实例
2019/08/27 Javascript
基于Nuxt.js项目的服务端性能优化与错误检测(容错处理)
2019/10/23 Javascript
vue使用echarts实现水平柱形图实例
2020/09/09 Javascript
python3访问sina首页中文的处理方法
2014/02/24 Python
跟老齐学Python之一个免费的实验室
2014/09/14 Python
Python实现给文件添加内容及得到文件信息的方法
2015/05/28 Python
python多进程提取处理大量文本的关键词方法
2018/06/05 Python
Python走楼梯问题解决方法示例
2018/07/25 Python
Python操作rabbitMQ的示例代码
2019/03/19 Python
Django重置migrations文件的方法步骤
2019/05/01 Python
python爬取盘搜的有效链接实现代码
2019/07/20 Python
ORM Django 终端打印 SQL 语句实现解析
2019/08/09 Python
Python列表元素常见操作简单示例
2019/10/25 Python
Python下使用Trackbar实现绘图板
2020/10/27 Python
CSS3制作苹果风格键盘特效
2015/02/26 HTML / CSS
科尔士百货公司官网:Kohl’s
2016/07/11 全球购物
英国Zoro工具:手动工具,电动工具和个人防护用品
2016/11/02 全球购物
班级活动策划书
2014/02/06 职场文书
关于对大人不礼貌的检讨书
2014/09/29 职场文书
超市采购员岗位职责
2015/04/07 职场文书
公务员廉洁从政心得体会
2016/01/19 职场文书
在pycharm中无法import所安装的库解决方案
2021/05/31 Python
vue实现Toast组件轻提示
2022/04/10 Vue.js
深入理解MySQL中MVCC与BufferPool缓存机制
2022/05/25 MySQL