博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
对象的 [] 和 . 操作符的区别:
阅读量:4565 次
发布时间:2019-06-08

本文共 775 字,大约阅读时间需要 2 分钟。

这两者的主要区别是:. 操作符要求属性名满足标识符的命名规范。而[..] 操作符可以接受任意字符串作为属性名。

var obj = {};  obj["12@qq"] = "12@qq.com";  console.log(obj["12@qq"]); //12@qq.com  console.log(obj.12@qq);   //报错

此外:[...] 可以使用字符串访问属性,所以可以在程序中构建这个字符串。如:

var name = "kevin";  var obj = {    kevin : 'personName',    age:20  }  console.log(obj[name]) ;  //personName  console.log(obj.name) ;   //undefined
 

在对象中,属性名永远都是字符串。如果使用非字符串(string)的其他值作为属性名,都会转化成string类型,即使数字也不例外。

♥ 注意:在数组中使用数值作为下标访问每一项,但是对象会把数值转化成string类型。不要搞混了。

var obj = {};  obj[3] = "three";  console.log(obj[3]); //three  console.log(obj["3"]); //three  console.log(obj["3"]===obj[3]);  //true  console.log(obj.3); //报错

 综上:

[]操作符总是能代替点操作符,点操作符总不能代替[]操作符。

[]操作符可以用变量来访问属性名,点操作符不能

[]操作符能用数值访问属性,点操作符不能。

 

转载于:https://www.cnblogs.com/wangwenhui/p/7707354.html

你可能感兴趣的文章
Hive内置函数详解
查看>>
【转】MyEclipse快捷键大全
查看>>
IT职业技能图谱10--Hadoop家族技能图谱
查看>>
Java - 反射(1)
查看>>
控制台中显示执行的Sql语句
查看>>
Linux(Centos7)下搭建SVN服务器
查看>>
安卓开发的Tasks and Back Stack
查看>>
Ansi,UTF8,Unicode编码
查看>>
原子变量的性能问题
查看>>
Sybase PowerDesigner 15.0 完美版+特别文件
查看>>
快速傅立叶之二
查看>>
cetos 6.3 安装 apache+mysql+php
查看>>
js编写简单的贪吃蛇游戏
查看>>
2018/12/01 一个64位操作系统的实现 第四章 导入kernel.bin(4)
查看>>
如何在windows xp professional安装iis的解决方法
查看>>
抽象类和接口
查看>>
使用ASP.NET Atlas AutoComplete Behavior或AutoComplete Extender实现自动完成功能(下)
查看>>
golang 常见疑惑总结
查看>>
8大你不得不知的Android调试工具
查看>>
pc端元素拖拽
查看>>