关于JavaScript对象的动态选择及遍历对象
2023-06-13 09:15:19 时间
(一)动态选择方法及属性
在实际工作中,我们经常会遇到这种情况:根据某个条件来调用两个方法[1]中的一个,或是在两个属性[2]中的一个上面进行读写操作。下面的代码展示了这种情形:
复制代码代码如下:
在实际工作中,我们经常会遇到这种情况:根据某个条件来调用两个方法[1]中的一个,或是在两个属性[2]中的一个上面进行读写操作。下面的代码展示了这种情形:
if(condition){
myObj.method1(someArg);
}else{
myObj.method2(someArg);
}
JavaScript提供了一种简单的语法,即使用方括号操作符([])来动态地选择方法和属性。正如下面的代码所示,JavaScript有两种等价的成员访问语法(这个特征在动态语言里很常见):
obj[expressionResultingInMembername]==obj.memberName
如果你曾用整数下标来访问数组中的某个元素,那你已经开始用方括号操作符来进行动态成员选择了。这是因为,数组对象本身就包含以数字下标命名的属性(以及length属性)。不过,JavaScript并不允许你使用点操作符(.)直接访问这些属性,因此myArray.0在语法上是非法的(太遗憾了,这本来是个挺酷的语法)。
为什么方括号操作符比点操作符表示法更强大呢?这是因为你可以在方括号中使用任何代表成员名称的内容来访问对象的成员。这些内容包括字面量、保存着成员名称的变量、名称组合(多数情况下是字符串的拼接)以及用三元操作符(condition?valueIfTrue:valueIfFalse)实现的快速if/then选择。所有的这些内容都会被处理成一个字符串,然后JavaScript会用这个字符串来寻找对应的成员。
由于JavaScript中的函数本身也是对象,所以它可以像其他值一样被引用。如果一个表达式的结果是函数,你可以直接用括号操作符调用它,就像你直接用函数名称调用函数一样。
需要注意的是,如果你在向方法传递的参数上大量使用此类技巧,混乱的括号有可能会使代码变得难以阅读,此时使用常规的if/else结构更加明智。
(二)JavaScript遍历对象属性和方法
JavaScript使用forin语句来遍历对象的属性和方法。forin语句循环遍历JavaScript对象,每循环一次,都会取得对象的一个属性或方法。
语法:
for(valueNameinObjectName){
//代码
}
其中,valueName是变量名,保存着属性或方法的名称,每次循环,valueName的值都会改变。
相关文章
- JavaScript——二叉树层序遍历
- 23·灵魂前端工程师养成-JavaScript函数
- javascript/jquery获取地址栏url参数的方法
- JavaScript学习总结(十七)——Javascript原型链的原理详解编程语言
- JavaScript学习总结(十六)——Javascript闭包(Closure)详解编程语言
- JavaScript学习总结(九)——Javascript面向(基于)对象编程详解编程语言
- 运算JavaScript与Redis结合:加速运算(jsredis)
- Javascript实现的分页函数
- javascript编程起步(第三课)
- Javascript常用运算符(Operators)-javascript基础教程
- [转]去百度面试的javascript收获
- javascript浏览器判断绑定事件arguments转换数组数组遍历
- javascript线性渐变三
- JavaScript利用StringBuffer类提升+=拼接字符串效率
- javascript实现的仿51job地址多项选择方式效果
- JavaScript设计模式富有表现力的Javascript(一)
- javascript主动派发事件总结
- Javascript异步加载详解(浏览器在javascript的加载方式)
- javascript学习笔记(八)js内置对象
- JavaScript高级程序设计阅读笔记(十六)javascript检测浏览器和操作系统-detect.js
- Javascript中call的两种用法实例
- javascript中的事件代理初探
- JavaScript遍历table表格中的某行某列并打印其值
- javascript中的遍历forin以及with的用法
- JavaScript实现穷举排列(permutation)算法谜题解答
- JavaScript中遍历对象的property的3种方法介绍
- Javascript基础教程之JavaScript语法