当前位置: 首页 > 编程笔记 >

js中for in语句的用法讲解

公良昕
2023-03-14
本文向大家介绍js中for in语句的用法讲解,包括了js中for in语句的用法讲解的使用技巧和注意事项,需要的朋友参考一下


 for(variable in object)

   statement


variable 是声明一个变量的var语句,数组的一个元素或者是对象的一个属性
在循环体内部,对象的一个属性名会被作为字符串赋给变量variable。

注意:对象的有些属性以相同的方式标记成了只读的,永久的(不可删除的)或者不可列举的,这些属性使用for/in循环不能枚举出来。虽然所有的用户定义的属性都可以枚举,但是许多内部属性,包括所有的内部方法都是不可枚举的。另外对象可以继承其他对象的属性,那些已继承的用户定义的属性可以使用for/in 循环枚举出来。

for(var i=0;i<len;i++)这样的用法一般都可以用for in 来替代。

例如:


var a = ["a","b","c"];

for(var el in a){

alert(a[el]);

}


这个就是穷举出a中的所有元素,当然上面这个例子是可以用

for(var i=0,len=a.length;i<len;i++){

alert(a[i]);

}


这种方式进行循环列出的,不过有时候这种方式就不一定奏效了。
例如:

var a = {"first":1,"second":2,"third":3};


这个时候就只能用for in来穷举了。

一个对象是否可以进行for in穷举,我们可以通过propertyIsEnumerable属性来判断,说明如下:

object.propertyIsEnumerable(propname)是否可以通过for/in循环看到属性
propname 一个字符串,包含object属性的名称
如果object具有名为propname的非继承属性,而且该属性是可枚举的(即用for/in循环可以枚举它),则返回true

描述:

用for/in语句可以遍历一个对象"可枚举"的属性,但并非一个对象的所有属性都是可枚举的,通过JavaScript代码添加到对象的属性是可枚举的,而内部对象的预定义属性(如方法)通常是不可枚举的.

propertyIsEnumerable()方法不检测原型链,这意味它只适用于对象的局部属性,不能检测继承属性的可枚举性


var o=new Object();

o.x=3.14;

o.propertyIsEnumerable("x");//true

o.propertyIsEnumerable("y");//false have not the property

o.propertyIsEnumerable("toString");//false inherited

Object.prototype.propertyIsEnumerable("toString");//false nonenumerable

 类似资料:
  • 本文向大家介绍讲解Python中if语句的嵌套用法,包括了讲解Python中if语句的嵌套用法的使用技巧和注意事项,需要的朋友参考一下  可能有这样一种情况,当你想检查其他条件后一个条件解析为真。在这种情况下,可以使用嵌套的if结构。 在嵌套的 if 语句结构,可以在一个 if... elif... else 结构里面可有另外一个 if... elif... else 结构。 语法: 嵌套 if.

  • 本文向大家介绍讲解JavaScript中for...in语句的使用方法,包括了讲解JavaScript中for...in语句的使用方法的使用技巧和注意事项,需要的朋友参考一下  这里是JavaScript支持的另外一个循环。它被称为for...in循环。这个循环是用于循环一个对象的属性。 因为我们还没有讨论的对象,所以使用这一循环可能会感觉不太明白。但是,一旦你会对JavaScript对象了解后,

  • 本文向大家介绍Python中的if、else、elif语句用法简明讲解,包括了Python中的if、else、elif语句用法简明讲解的使用技巧和注意事项,需要的朋友参考一下 下面我们学习if语句,输入下面的代码,确保能够正确运行。 运行结果 加分练习 通过上面的练习,我们自己猜测一下if语句的作用,用自己的话回答下面的问题。 1. 你认为if对它下面的代码做了什么? 判断为True就执行它下面的

  • 本文向大家介绍举例讲解Swift编程中switch...case语句的用法,包括了举例讲解Swift编程中switch...case语句的用法的使用技巧和注意事项,需要的朋友参考一下 Switch作为选择结构中必不可少的语句也被加入到了Swift中,只要有过编程经验的人对Switch语句都不会感到陌生,但苹果对Switch进行了大大的增强,使其拥有其他语言中没有的特性。使用Switch语句很简单:

  • 本文向大家介绍讲解易语言句柄的概念,包括了讲解易语言句柄的概念的使用技巧和注意事项,需要的朋友参考一下 以下我们给大家详细讲述了易语言中的句柄的概念和含义 这是操作系统里的一个概念,句柄是WONDOWS用来标识被应用程序所建立或使用的对象的唯一整数,WINDOWS使用各种各样的句柄标识诸如应用程序实例,窗口,控制,位图,GDI对象等等。WINDOWS句柄有点象C语言中的文件句柄。 从上面的定义中的

  • 本文向大家介绍Python中列表和元组的相关语句和方法讲解,包括了Python中列表和元组的相关语句和方法讲解的使用技巧和注意事项,需要的朋友参考一下 列表(list): 首先,列表属于序列,那么序列类型可用如下内建函数—— list(iter):把可迭代对象转换为列表。 str(obj):把obj对象转换为字符串,即用字符串来表示这个对象。 tuple(iter):把一个可迭代对象转换为一个元组