码迷,mamicode.com
首页 > 其他好文 > 详细

对象中是否有某一个属性 in

时间:2020-02-19 23:55:13      阅读:103      评论:0      收藏:0      [点我收藏+]

标签:alt   原型链   property   ref   net   object   detail   sch   ring   

参考地址:https://blog.csdn.net/qq_42363090/article/details/103716526
如何看某个对象中没有某一个属性
如果我们要检测对象是否拥有某一属性,可以用in操作符

var obj= {
    name: '类老师',
    age: 18,
    school: '家具'  
};
console.log('age' in obj); // true
console.log('grade' in obj); // false
在vue中的实际应用,通过判断是否有某一个属性,是否展示出这个标签。
<h2 class="tab-meassage-timeweek" v-if=" 'weekunkown' in  item==true? true : false ">{{item.weekunkown}}</h2>
疑惑的地方
let xiaoming={};
console.log('Function' in xiaoming);//为false
console.log('toString' in xiaoming);//为什这里是true了  不是也应该是false吗
看了下面这张图,你就知道了,因为继承啊

技术图片

// 因为toString定义在object对象中,而所有对象最终都会在原型链上指向object,所以obj也拥有toString属性。
// 要判断一个属性是否是obj自身拥有的,而不是继承得到的,可以用hasOwnProperty()[has er en po per t]方法:
var obj= {    
    name: '陈三',    
    age: 18,    
    school: '宇宙银河系'  
};
obj.hasOwnProperty('name'); // true
obj.hasOwnProperty('toString'); // false

对象中是否有某一个属性 in

标签:alt   原型链   property   ref   net   object   detail   sch   ring   

原文地址:https://www.cnblogs.com/IwishIcould/p/12333739.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!