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

 本文为大家介绍下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 的值都会改变。 
 

时间: 2024-11-08 19:23:07

JavaScript对象的动态选择及遍历对象的相关文章

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

(一)动态选择方法及属性 在实际工作中,我们经常会遇到这种情况:根据某个条件来调用两个方法[1]中的一个,或是在两个属性[2]中的一个上面进行读写操作.下面的代码展示了这种情形: 复制代码 代码如下: if (condition) { myObj.method1(someArg); } else { myObj.method2(someArg); } JavaScript提供了一种简单的语法,即使用方括号操作符([])来动态地选择方法和属性.正如下面的代码所示,JavaScript有两种等价的成

jquery判断对象是否为空并遍历对象的简单实例_jquery

javascript : if(document.getElementById("target_obj_id")){ } else { } jquery: 因为 $("#target_obj_id") 不管对象是否存在都会返回 object ,所以以上方法不行 1. var target_obj = jQuery('#target_obj_id'); if (target_obj.length > 0) { //如果大于0 标识 id 为target_obj_

jquery 动态删除ID相同的对象、动态删除相同类型对象

下面来看看这个例子:  代码如下 复制代码 <input type="hidden" name="attr_value_list[]" rel="4" all="4" value=""> <input type="hidden" name="attr_value_list[]" rel="4" all="4"

Javascript的数组与字典用法与遍历对象的属性技巧_javascript技巧

Javascript 的数组Array,既是一个数组,也是一个字典(Dictionary).先举例看看数组的用法. 复制代码 代码如下: var a = new Array(); a[0] = "Acer"; a[1] = "Dell"; for (var i = 0; i < a.length; i++) { alert(a[i]); } 下面再看一下字典的用法. 复制代码 代码如下: var computer_price = new Array(); co

JavaScript中遍历对象的property的3种方法介绍_javascript技巧

在JavaScript中,可以用三种方法来遍历对象的property: 1.for/in.可以使用for/in语句遍历对象自身的property(Own Property)及其从原型对象处继承的property,只有enumerable的property才会被遍历到. 2.Object.keys().可以将对象作为参数传入Object.keys(),Object.keys()语句将返回由所有property名称字符串所组成的数组.Object.keys()语句仅返回对象自身的(Own Prope

javascript如何解析json对javascript如何解析json对象并动态赋值到select列表象并动态赋值到select列表

原文 javascript如何解析json对象并动态赋值到select列表 JSON(JavaScriptObject Notation)一种简单的数据格式,比xml更轻巧.JSON是JavaScript原生格式,这意味着在JavaScript中处理JSON数据不需要任何特殊的API或工具包. JSON的规则很简单:对象是一个无序的"'名称/值'对"集合.一个对象以"{"(左括号)开始,"}"(右括号)结束.每个"名称"后跟一

javascript使用Object.keys遍历对象属性名

在实际开发中,我们有时需要知道对象的所有属性,js原生给我们提供了一个很好的方法:Object.keys,该方法返回一个数组 var obj = {   'a':'123',   'b':'345', }; console.log(Object.keys(obj));  //['a','b']   值得注意的是,如果keys方法里传入的是字符串,也会返回数组,只是数组里的值是字符串中每个字符的索引: var str = 'ab1234'; console.log(Object.keys(obj)

Javascript 遍历对象中的子对象_javascript技巧

复制代码 代码如下: var json_obj = { pos1:{x1:123, x2:234, y1:222, y2:333}, pos2:{x1:999, x2: 888, y1:777, y2:666} }; for (var p in json_obj) { alert(json_obj[p].x1); } 这个方法也可以扩展一下,比如遍历对象中的属性,对象中的函数等.

javascript中的高级特性及特别对象、属性和方法

javascript|对象|高级 一,编写构造函数可以使用 new 运算符结合像 Object().Date() 和 Function() 这样的预定义的构造函数来创建对象并对其初始化.面向对象的编程其强有力的特征是定义自定义构造函数以创建脚本中使用的自定义对象的能力.创建了自定义的 构造函数,这样就可以创建具有已定义属性的对象.下面是自定义函数的示例(注意 this 关键字的使用). function Circle (xPoint, yPoint, radius) {   this.x = x