关于JavaScript对象的动态选择及遍历对象

 更新时间:2014年03月10日 11:24:30   作者:  
本文为大家介绍下JavaScript对象的两点:动态选择方法及属性、遍历对象属性和方法,需要的朋友可以参考下
(一)动态选择方法及属性

在实际工作中,我们经常会遇到这种情况:根据某个条件来调用两个方法[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 使用 for in 语句来遍历对象的属性和方法。for in 语句循环遍历 JavaScript 对象,每循环一次,都会取得对象的一个属性或方法。

语法:
复制代码 代码如下:

for(valueName in ObjectName){
// 代码
}

其中,valueName 是变量名,保存着属性或方法的名称,每次循环,valueName 的值都会改变。

相关文章

  • javascript 模拟点击广告

    javascript 模拟点击广告

    我们不管js或iframe怎么调用的,模拟点击就意味着打开广告链接,广告商就以为用户点击了他的广告,所以我们只要保证点击了一个链接但没有跳出页面的结果就行了,是吗?
    2010-01-01
  • JavaScript仿京东实现秒杀倒计时案例详解

    JavaScript仿京东实现秒杀倒计时案例详解

    这篇文章主要为大家详细介绍了如何利用JavaScript实现京东秒杀倒计时效果,文中示例代码介绍的非常详细,感兴趣的小伙伴们可以参考一下
    2022-03-03
  • javascript弹出一个层并增加一个覆盖层

    javascript弹出一个层并增加一个覆盖层

    弹出一个层的js代码,比较不错
    2008-10-10
  • Bootstrap Table服务器分页与在线编辑应用总结

    Bootstrap Table服务器分页与在线编辑应用总结

    这篇文章主要介绍了Bootstrap Table服务器分页与在线编辑应用总结 的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2016-08-08
  • 基于JavaScript实现十五拼图代码实例

    基于JavaScript实现十五拼图代码实例

    这篇文章主要介绍了基于JavaScript实现十五拼图代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-04-04
  • 微信小程序 弹窗自定义实例代码

    微信小程序 弹窗自定义实例代码

    这篇文章主要介绍了微信小程序 弹窗自定义实例代码的相关资料,有时候做开发项目的时候需要根据客户需求更改原系统的组件,这里就对小程序中弹窗进行更改,需要的朋友可以参考下
    2017-03-03
  • JS逻辑运算符短路操作实例分析

    JS逻辑运算符短路操作实例分析

    这篇文章主要介绍了JS逻辑运算符短路操作,结合实例形式分析了javascript三个逻辑运算符短路操作的原理与使用技巧,需要的朋友可以参考下
    2018-07-07
  • 详解V8是如何执行一段JavaScript代码原理

    详解V8是如何执行一段JavaScript代码原理

    这篇文章主要为大家介绍了详解V8是如何执行一段JavaScript代码原理详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-04-04
  • 详解javascript如何在跨域请求中携带cookie

    详解javascript如何在跨域请求中携带cookie

    本文主要介绍了详解javascript如何在跨域请求中携带cookie,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-03-03
  • 如何利用javascript接收json信息并进行处理

    如何利用javascript接收json信息并进行处理

    这篇文章主要介绍了如何利用javascript接收json信息并进行处理,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-08-08

最新评论