百分百源码网-让建站变得如此简单! 登录 注册 签到领金币!

主页 | 如何升级VIP | TAG标签

当前位置: 主页>网站教程>JS教程> js中的in运算符的使用方法
分享文章到:

js中的in运算符的使用方法

发布时间:01/15 来源: 浏览: 关键词:
in运算符在js中是包含或存在的意思,下面我们一起来深入的了解一下js中的in运算符的使用方法,具体的一起来看下文,希望下文对大家有帮助.

关于js中的关键字in,我们使用最多的大概就是for…in循环了,可以用来遍历数组和对象,而其实除了循环以外,in还可以用来判断。

判断数组或者对象中是否有某个键名,如:

2 in ['a','b','c']  // true
"b" in {"a":1,"b":2} //true

注意in只判断键名,不问键值,比如:

var obj1 = {"a":1,"b":2};
obj.b = undefined;
"b" in obj1;  //true
var obj2 = {"a":1,"b":2};
obj.b = null;
"b" in obj2;  //true
var arr= ['a','b','c'];
arr[2] = undefined;
2 in arr;  //true

以上几种情况,键值不论设为什么,in只判断键名。还有一个情况:

var obj = {"a":1,"b":2};
delete obj.b;
"b" in obj;  //false
delete 会删除对象的属性,这样in就返回false了。

in只能用来判断数组和对象,不能判断其他类型,只会返回布尔值,所以在有些判断中还是很有用的。

js中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属性来判断,说明如下:
propertyIsEnumerable 属性
返回 Boolean 值,指出所指定的属性是否为一个对象的一部分以及该属性是否是可列举的。


object.propertyIsEnumerable(proName)

参数
object
必选项。一个对象。

proName
必选项。一个属性名称的字符串值。

说明
如果 proName 存在于 object 中且可以使用一个 For…In 循环穷举出来,那么 propertyIsEnumerable 属性返回 true。如果 object 不具有所指定的属性或者所指定的属性不是可列举的,那么 propertyIsEnumerable 属性返回 false。典型地,预定义的属性不是可列举的,而用户定义的属性总是可列举的。
propertyIsEnumerable 属性不考虑原型链中的对象。

打赏

打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

百分百源码网 建议打赏1~10元,土豪随意,感谢您的阅读!

共有10人阅读,期待你的评论!发表评论
昵称: 网址: 验证码: 点击我更换图片
最新评论

本文标签

广告赞助

能出一分力是一分吧!

订阅获得更多模板

本文标签

广告赞助

订阅获得更多模板