首页 > jquery中in的用法都有什么? 这句话里in是什么作用

jquery中in的用法都有什么? 这句话里in是什么作用

在读代码的时候 看到一句话, 不太明白jq中的in的用法, 谁能介绍下吗, 谢谢

        var doc = document, inputs = doc.getElementsByTagName('input'),supportPlaceholder = 'placeholder' in doc.createElement('input'),

十分感谢 razorBang imingyu 的回答,
不过我还有些疑惑

  1. 我可以理解为该语句就是用于检查input中有没有定义placeholder属性吗?

  2. input上怎么会有placeholder属性, 他不是一个dom对象吗? 又不是咱们自己定义的对象.

  3. 如何给dom对象添加placeholder属性, 即什么情况下他会返回ture?

  4. 这句话是javascript的语法, 这里的in是javascript中的关键字, 我应该搜索什么关键词可以查询到更多相关的内容.


简单来说就是测试一个对象和他的 原型链上 有没有这个属性,

这句话的意义就是创建一个input,并测试他支不支持placeholder属性,支持返回true,不支持就是false。


in关键字并不是jquery的语法,它是js的语法,它可以理解为:

判断对象是否为数组/对象元素/属性

如:

var arr=[1,2,3,"a","b"];
var obj={a:1,b:2};
1 in arr;//true
"a" in obj;//true

它与hasOwnProperty有异曲同工之妙,但是又有些许差异,如:

function Person(){
    this.name="Tom";
}
Person.prototype.age=20;

var p1=new Person();
"name" in p1;//true
p1.hasOwnProperty("name");//true

"age" in p1;//true
p1.hasOwnProperty("age");//false
【热门文章】
【热门文章】