夢醒時分-月兒moon
结论:根据不同的浏览器,这两种方式执行效率也不一样。
但是这两种使用方法还是有区别的。
[]可以用变量作为属性名访问,而点不行
[]可以用数字作为属性访问,但点不行
[]可以动态访问属性名,可以在程序运行时创建和修改
[]里面的表示可以有导致语法错误的字符,也可以是关键字
李老师tome
读取和设置对象属性有两种写法:
1、(.)点操作符:静态的。右侧必须是一个以属性名称命名的简单标识符。属性名用一个标识符来表示。标识符必须直接出现再js程序中,它们不是数据类型,因此程序无法修改它们。
2、([ ])中括号操作符:动态的。方括号里必须是一个计算结果为字符串的表达式,属性名通过字符串表示。字符串是js的数据类型,在程序运行时可以修改和创建它们。
主要有以下区别:
1、([ ])可以用变量作为属性名或访问,而点方法不可以
2、[ ]中括号法--可以用数字作为属性名,而点语法不可以;
3, [] 可以动态访问的属性名,可以在程序运行时创建和修改属性,点操作符就不行!
( 即 []--可以动态设置和获取)
4,如果属性名中包含会导致语法错误的字符,或者属性名是关键字或者保留字,也可以使用方括号表示法。
//如:(属性名有空格,请使用方括号 [] )
简单利用:在数组原型链上增加一个去重得的方法,并能实现链式写法。
希望这点回答能够帮助你
充电室
性能差别不大。
最主要的区别是中括号可用于动态反射,里面可以用表达式,更灵活。
点号在ide中会有语法检查。
椰子猫她爸
如果这样的代码运行在服务器上,且每天有几千万的请求访问到,非常建议使用点号,而且在debug的时候,点号的方式可以鼠标悬浮查看结果,中括号的不可以。如果对象的属性不是用变量去获取,建议使用点号获取对象属性
大学的那些事情
性能一致,第二种方式多了三个字符,会增加代码体积,如果所有属性访问都用第二种,体积会增加不少
一口咖啡一段代码
没区别,只是后一种可以传变量,数组的索引也可以
何以前端
这要看浏览器怎么解析。
思有邪斋
差不多