【Javascript学习笔记】JavaScript中in操作符的学习(附上MDN上IN的翻译说明)
2011-09-12 14:18
721 查看
首先:附上MDN官网IN操作符的介绍(原文链接)
下面是具体翻译:
in:
概括:
判断指定对象是否存在指定属性,如果存在,返回true,否则,false
语法:
prop in objectName
参数说明:
prop:代表对象的属性(字符串类型)或数组的索引(数值类型)
objectName:待检测的对象
描述:
例子帮助说明:
检测数组的键值:
这里要特别注意第7行,in 只能判断数组的键!
检测对象的属性(也许有同学会问能不能检测对象的方法呢?至少我写到这里的时候想到了,通过测试,答案是肯定的。你也可以自己试试。):
这里要特别注意 字符串 类型,我就犯了这种错,没加引号,导致输出false,感谢Franky!
关于in操作符用在对象字面量和由Stirng construtor构造的string对象的不同:
关于这点,更详细的说明可以点击这里!
in操作符在delete运算后的用法:
如果你通过delete删除对象的某一属性,再用in检测该属性,会返回false(延伸阅读:JavaScript中delete的用法(JavaScript秘密花园 - Object, Prototype))
继承的属性:
查找从原型链上继承的属性返回true
这里的toString方法,是Object.prototype的一个方法。
参考资料:
1.MDN文档
2.Javascript学习笔记-详解in运算符
3.[翻译]JavaScript秘密花园 - Array, Array Constructor, for in loop, typeof, instanceOf(更详细地内容请点这里)
下面是具体翻译:
in:
概括:
判断指定对象是否存在指定属性,如果存在,返回true,否则,false
语法:
prop in objectName
参数说明:
prop:代表对象的属性(字符串类型)或数组的索引(数值类型)
objectName:待检测的对象
描述:
例子帮助说明:
检测数组的键值:
var ary=['one','two','three']; ary.length=3; console.log(1 in ary); //true console.log('three' in ary);//false console.log(length in ary);//false
这里要特别注意第7行,in 只能判断数组的键!
检测对象的属性(也许有同学会问能不能检测对象的方法呢?至少我写到这里的时候想到了,通过测试,答案是肯定的。你也可以自己试试。):
var obj={ name:'bird', sex:'男', age:22 }; console.log('sex' in obj);//true
这里要特别注意 字符串 类型,我就犯了这种错,没加引号,导致输出false,感谢Franky!
关于in操作符用在对象字面量和由Stirng construtor构造的string对象的不同:
var obj =new String('Hello Javascript'); console.log('length' in obj);//true console.log('toString' in obj);//true var str='Hello World'; console.log('toString' in str);//typeError console.log('length' in str);//typeError
关于这点,更详细的说明可以点击这里!
in操作符在delete运算后的用法:
如果你通过delete删除对象的某一属性,再用in检测该属性,会返回false(延伸阅读:JavaScript中delete的用法(JavaScript秘密花园 - Object, Prototype))
//对象 var animal ={ name:'bird', love:'sing', speed:'80' }; delete animal.love; console.log('love' in animal);//false //数组 var sports=['basketball','football','tabletennis','jump']; delete sports[2]; console.log(2 in sports);//false console.log(sports);//['basketball','football',undefinded,'jump'];
继承的属性:
查找从原型链上继承的属性返回true
console.log('toString' in {});//true
这里的toString方法,是Object.prototype的一个方法。
参考资料:
1.MDN文档
2.Javascript学习笔记-详解in运算符
3.[翻译]JavaScript秘密花园 - Array, Array Constructor, for in loop, typeof, instanceOf(更详细地内容请点这里)
相关文章推荐
- 韩顺平_轻松搞定网页设计(html+css+javascript)_第33讲_Object类_闭包_成员函数再说明_聪明的猪小练习_学习笔记_源代码图解_PPT文档整理
- 【JavaScript】学习笔记(对象的访问,创建;for-in循环)
- [翻译]javascript学习笔记 (四)-面向对象的实现
- JSON 学习之JSON in JavaScript详细使用说明
- JavaScript 学习笔记之操作符
- 韩顺平 javascript教学视频_学习笔记18_js超级玛丽小游戏2_js面向对象的进一步说明
- [翻译]javascript学习笔记 (一)-函数基础
- JavaScript高级程序设计(第3版)学习笔记4 js运算符和操作符
- Javascript学习指南(第2版)笔记(一) Script、数据类型和变量、操作符和语句
- JavaScript 学习笔记之操作符(续)
- JavaScript 学习笔记(七)for(var i in username) {……}、.length、isNaN(……)
- JavaScript 学习笔记之操作符(续)
- javascript-MDN学习笔记-Array部分
- JSON 学习之JSON in JavaScript详细使用说明
- Javascript操作符和语句(学习笔记)
- JavaScript 学习笔记之操作符
- [翻译]javascript学习笔记 (二)-DOM
- JavaScript高级程序设计(第3版)学习笔记4 js运算符和操作符
- Javascript学习笔记-详解in运算符
- [翻译]斯坦福CS 20SI:基于Tensorflow的深度学习研究课程笔记,Lecture note 4: How to structure your model in TensorFlow