JavaScript in 操作符

JavaScript的in操作符可以用来判断一个属性是否属于一个对象,也可以用来变量一个对象的属性

1. 判断属性属于对象

var mycar = {make: "Honda", model: "Accord", year: 1998};
//注意,属性名必须是字符串形式,因为make不是一个变量
if ( "make" in mycar ){
    document.write(‘true‘);
}
else{
    document.write(‘false‘);  // 显示true
} 

2. for in遍历对象属性

var mycar = {make: "Honda", model: "Accord", year: 1998};
for(var p in mycar){
    console.log(p + ‘: ‘ + make[p]);
}

3. in可以用来进行判断

if ( foo == ‘bar‘ || foo == ‘foobar‘ || foo == ‘foo‘ )
{
//...
}
//就可以写成:
if ( foo in { ‘bar‘:‘‘, ‘foobar‘:‘‘, ‘foo‘:‘‘ } )
{
//...
}

4. delete操作符可以删除属性,配合in使用

var mycar = {make: "Honda", model: "Accord", year: 1998};
delete mycar.make;
"make" in mycar;  // returns false

var trees = new Array("redwood", "bay", "cedar", "oak", "maple");
delete trees[3];
3 in trees; // returns false

5. 尽量不要用for in遍历数组

集合遍历的效率为:hash > for(;;) > for(in)

集合相关操作首选对象,次之用for循环遍历。

参考:http://www.linuxfly.org/post/524/

原文地址:https://www.cnblogs.com/mengff/p/9603590.html

时间: 2024-10-13 23:37:36

JavaScript in 操作符的相关文章

JavaScript 逗号操作符

让我们从一个有趣的微博开始吧. 末尾的c是优先级最低的逗号操作符.逗号操作符是操作符优先级的最后一行,并且很少有文章记录,它隐藏着它的锋芒.它可能不是JavaScript强势操作符,但是我喜欢它.它简单.优雅并且你应该让它成为你的朋友.所以,我们开始吧--你需要更多了解JavaScript这个害羞英雄. 它是做什么的? 逗号操作符评估它的操作数(从左到右)并返回第二个操作数的值.(MDC) var a = (7, 5); a; //5 var x, y, z; x = (y=1, z=4); x

从头开始学JavaScript (四)——操作符

原文:从头开始学JavaScript (四)--操作符 一.一元操作符 1.自增自减操作符:分为前置型和后置型: 前置型:++a;--a; 后置型:a++;a--; 例: 1 <script type="text/javascript"> 2 var a, b,i= 1,j=1; 3 a=i++; 4 b=++j; 5 alert("a="+a+",i="+i+",b="+b+",j="+j);

细说javascript typeof操作符

细说javascript typeof操作符 typeof定义 typeof是一元运算符,用来返回操作数类型的字符串.下面是ECAMScript5.1关于typeof的标准定义: NOTE:上面表格标红处应为“object”. typeof疑惑 Value Class Type ------------------------------------- null null object "foo" String string new String("foo") St

JavaScript中+操作符的特殊性

在JavaScript中+操作符有两个作用: (1)加法运算 (2)字符串连接 在使用+操作符进行运算时,当+操作符两边都是数值类型的时候,进行加法运算; 当+操作符两边有任意一边是字符串,则进行字符串连接操作.(在进行计算时,数字字符串不会自动转换为数字) 还有一点需要注意的是:表单里输入的任何内容都会被转换为字符串,即使输入的是数字,也会被转换成数字字符串,所以当我们拿到表单里的内容(这里仅说明数字字符串),需要显式的转换一下(比如:parseInt()等方式). 原文地址:https://

【JavaScript】JavaScript位操作符

JavaScript位操作符 位操作符用于在最基本的层次上,即按内存中表示数值的位来操作数值.ECMAScript 中的所有数值都以 IEEE-754 64 位格式存储,但位操作符并不直接操作 64 位的值.而是先将 64 位的值转换成 32 位的整数,然后执行操作,最后再将结果转换回 64 位.对于开发人员来说,由于 64 位存储格式是透明的,因此整个过程就像是只存在 32 位的整数一样. 对于有符号的整数,32 位中的前 31 位用于表示整数的值.第 32 位用于表示数值的符号:0 表示正数

Javascript 布尔操作符总结

在一门编程语言中,布尔操作符的重要性堪比相等操作符.如果没有测试两个值关系的能力,那么诸如if...else和循环之类的语句就不会有用武之地了.在像javascript这样弱类型语言更有其妙用,让我们的代码,简捷可靠.布尔操作符一共有3个: 与.或.非. 特性: 非 先来讨论一下,最简单的‘非!’ 相对与和或来说,非更简单一点,先把操作数转换为布尔值,再取反,值不是true,就是false. 结论:逻辑非的返回值最后只有两个:true or false.       与和或: 而与和或并不总是返

JavaScript 比较操作符,严格比较===

JavaScript 有两种比较方式:严格比较运算符和转换类型比较运算符.对于严格比较运算符(三个 =)来说,为ture的情况是仅当两个操作数拥有相同的类型,而对于被广泛使用的比较运算符(两个 =)来说,会在进行比较之前,将两个操作数转换成相同的类型.对于关系运算符(两个==)来说,会先将操作数转为原始值,待他们类型相同,再进行比较运算. 对于字符串,使用基于标准字典顺序的Unicode值 比较运算的特征: 对于两个拥有相同字符顺序,相同长度,并且每个字符的位置都匹配的字符串,应该使用严格比较运

从头开始学JavaScript (五)——操作符(二)

一.乘性操作符 1.乘法:*      乘法操作符的一些特殊规则: 如果操作数都是数值,按照常规的乘法计算,如果乘积超过了ECMAscript数值的表示范围,则返回infinity或者-infinity 如果有一个操作数是NaN,那返回结果就是NaN 如果是infinity与0相乘,返回NaN 如果infinity与非0数相乘,返回infinity或者-infinity infinity与infinity相乘,返回infinity 如果有一个操作数不是数值,后台会先调用number()将其转化为

JavaScript展开操作符(Spread operator)介绍

本文介绍JavaScript的展开操作符(Spread operator)....本文适合ES6初学者. 你可以通过展开操作符(Spread operator)...扩展一个数组对象和字符串.展开运算符(spread)是三个点(-),可以将可迭代对象转为用逗号分隔的参数序列.如同rest参数的逆运算. 用于数组 以数组为例,首先创建一个数组, const a = [1, 2, 3], b = [4,5,6]; 你可以轻松赋值一个数组: const c = [...a] // [1,2,3] 你还