14条最佳JS代码编写技巧[译](2)
作者:Sofish 来源:幸福收藏夹 时间:2009-11-09 19:37:00
3. 使用方括号记法
当访问由执行时决定或者包括要不能用”.”号访问的对象属性,使用方括号记法。如果你不是一个经验丰富的Javascript程序员,总是使用方括号是一个不错的做法
对象的属性由两种固定的方法来访问:”.”记法和”[ ]“方括号记法:
“.”号记法
MyObject.property“[ ]“
方括号记法
MyObject["property"]
使用”.”号,属性名是硬代码,不能在执行时改变。使用”[ ]“方括号,属性名是一个通过计算属性名而来的字符串。字符串要以是硬代码,也可能是变量,甚至可以是一个调回一个字母串值的函数。 如果一个属性名在执行产生,方括号是必须,如果你有 “value1″, “value2″, 和 “value3″这样的属性,并且想利用变量 i=2来访问。
这个可以运行:
MyObject["value"+i]
这个不可以:
MyObject.value+i
并且在某些服务器端环境(PHP、Struts等)下,Form 表单被附加了 [ ] 号来表示 Form 表单在服务器端必须被当作数组来对待。如此,用”.”号来引用一个包含 [ ] 号的字段将不会执行,因为 [ ] 是引用一个 Javascript 数组的语法。所以,[ ] 号记法是必须的:
这个可以运行:
formref.elements["name[]"]
这个不可以:
formref.elements.name[]
推荐使用”[ ]“方括号记法是说当其需要时(明显地)总是使用它。当不是严格需要使用它的时候,它是一个私人的偏好和习惯。一个好的经验原则是,使用”.”号记法访问标准的对象属性,使用”[ ]“方括号记法访问由页面定义的对象属性。这样,document["getElementById"]() 是一个完美可行的”[ ]“方括号记法用法,但 document.getElementById() 在语法上是首选,因为 getElementById 是一个 DOM 规范中定义的一个标准文档对象属性。混合使用这两个记法使哪个是标准对象属性,哪个属性名是由上下文所定义的,在代码中显得清晰明了:
document.forms["myformname"].elements["myinput"].value
这里,forms 是 document 的一个标准属性,而表单名 myformname 则是由页面所定义的。同时,elements 和 value 属性都是由规范所定义的标准属性。而 myinput 则是由页面所定义的。这页是句法让人非常容易理解(代码的内容),是一个推荐遵循的习惯用法,但不是严格原则。
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
python 实现学生信息管理系统的示例
ThinkPHP基于think-queue的队列插件实现消息推送
webpack5的entry和output配置小白学习
SqlServer参数化查询之where in和like实现之xml和DataTable传参介绍
JavaScript解决Joseph问题
ASp.net下fckeditor配置图片上传最简单的方法
利用Python实现多种风格的照片处理
![](https://img.aspxhome.com/file/2023/9/127659_0s.gif)
Python图像增强imgaug详解
![](https://img.aspxhome.com/file/2023/6/80566_0s.jpg)
Python搭建Keras CNN模型破解网站验证码的实现
![](https://img.aspxhome.com/file/2023/8/101458_0s.jpg)
JavaScript编制留言簿程序代码第1/3页
Python多线程实例教程
tensorflow入门:tfrecord 和tf.data.TFRecordDataset的使用
![](https://img.aspxhome.com/file/2023/3/86553_0s.jpg)
Python解析json文件相关知识学习
python 创建一维的0向量实例
解决Vue+SpringBoot+Shiro跨域问题
![](https://img.aspxhome.com/file/2023/6/130856_0s.png)