网络编程 
首页 > 网络编程 > 浏览文章

深入浅析JavaScript中的in关键字和for-in循环

(编辑:jimmy 日期: 2024/11/26 浏览:3 次 )

1.in关键字

属性名 in 对象,用来判断某个属性在对象中是否存在与其严格相等的属性名,返回boolean值

属性名必须是字符串或数字

var obj = {

  a : 1,

  b : 2

}
console.log('a' in obj);//返回true,obj对象中存在a属性名

var arr = [12,11,10];

console.log(12 in arr);//返回false,原因arr数组中12,11,10三个值对应的属性名分别是0,1,2

2.for-in循环

for(var prop in obj){

  //循环语句

}

取出对象的所有属性名,每次循环将其中一个属性名赋值给变量prop,运行循环体

利用该特点可以遍历数组:

var arr= ['abc','123',1,2,3];

for(var prop in arr){

  console.log(prop);

  console.log(arr[prop]);

}

使用for循环遍历数组和for-in循环遍历数组的区别:

遍历稀松数组var arr = [1,2,3,,,,,4];

for(var i = 0; i < arr.length; i++){};//没有值的地方会输出undefined

for(var prop in arr){};//没有值的地方不会输出

创建一个长度为100的数组,给数组的每一项赋值为'abc',使用for循环

var arr = new Array(100);

for(var i = 0; i < arr.length; i++){

  arr[i] = 'abc';

}

不能使用for-in循环

上一篇:Vue的全局过滤器和私有过滤器的实现
下一篇:vue实现购物车功能(商品分类)
一句话新闻
一文看懂荣耀MagicBook Pro 16
荣耀猎人回归!七大亮点看懂不只是轻薄本,更是游戏本的MagicBook Pro 16.
人们对于笔记本电脑有一个固有印象:要么轻薄但性能一般,要么性能强劲但笨重臃肿。然而,今年荣耀新推出的MagicBook Pro 16刷新了人们的认知——发布会上,荣耀宣布猎人游戏本正式回归,称其继承了荣耀 HUNTER 基因,并自信地为其打出“轻薄本,更是游戏本”的口号。
众所周知,寻求轻薄本的用户普遍更看重便携性、外观造型、静谧性和打字办公等用机体验,而寻求游戏本的用户则普遍更看重硬件配置、性能释放等硬核指标。把两个看似难以相干的产品融合到一起,我们不禁对它产生了强烈的好奇:作为代表荣耀猎人游戏本的跨界新物种,它究竟做了哪些平衡以兼顾不同人群的各类需求呢?
友情链接:杰晶网络 DDR爱好者之家 南强小屋 黑松山资源网 白云城资源网 网站地图 SiteMap