Javascript 基础知识 - 操作符 - in

本文介绍了JavaScript的in操作符,它用于检测对象是否包含特定属性,包括直接属性和继承属性。通过示例展示了如何使用in操作符,并强调了属性名称需为字符串,以及操作符左侧必须为属性字符串,右侧应为对象。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Javascript - in 操作符

in操作符只作用于对象;用来判断某个属性是否属于某个对象;属性可以是对象的直接属性,也可以是通过prototype继承的属性

1. 对于一般对象的属性,必须用字符串来指定属性的名称

var tester = {name : "Alma", year : "1989"};

"name" in tester ; //return true


2. 属性字符串在左边,右边必须是一个对象

var color1 = new String("green");
"length" in color1 // returns true
var color2 = "coral";

"length" in color2 // generates an error (color2 is not a String object)


3. 数组其实是特殊的对象,length(固有属性),索引值其实就是它的属性;并且在使用in时,属性可以不用引号括起为字符串,这个与一般对象不一样
var testArray = ["name","year"];
length in testArray; // return true;
"length" in testArray ; // return true;
0 in testArray ; "1" in testArray; //return true;
2 in testArray ; "2" in testArray; //return false;

"name" in testArray ;//return false


4. 你可以用delete操作符删除一个属性;把一个属性值设置为undefined,不代表这个属性被删除了;我们可以用in 来检验
var tester = {name : "Alma", year : "1989"};
"name" in tester ; //return true
"year" in tester ; //return true
tester.name = undefined;
delete tester.year;
"name" in tester ; //return true

"year" in tester ; //return false


5 in 经常与for 一起使用成为for in 语句, 其实就是用for遍历对象的每个属性!
1)for(variable in object){statements;}// variable 会依次取回object中的每个属性的字符串
var testObject = {name : "Alma", year : "1989"};

for(var property in testObject){console.log(testObject[property]);}//console log Alma , 1989


2)for(index in array){statements;} //数组其实是特殊的对象,index依次取回array中的每个索引值,索引值即是数组的属性
var testArray = ["name","year"];

for(var index in testArray){console.log(testArray[index]);}//console log name, year


其他参考:http://blog.youkuaiyun.com/slalx/article/details/5910587


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值