JavaScript
对象的枚举 for in
var obj = {
name = 'wwn',
age = 18,
sex = 'male'
__proto__ = {
lastName : 'oldWwn'
}
}
-
hasOwnProperty
用来判断 (prop)的属性是不是对象自已的,如果是就返回 true, 否就返回false (可用来打印出 自己的属性。)
原型链上的 和系统的Object 他不会关注。
for (var prop in obj) {
if ( obj.hasOwnProperty(prop)){
console.log(obj[prop]);
}
}
//wwn
//18
//'male'
原型链上的 和系统的Object 他 (hasOwnProperty) 不会关注。
'name' in obj
// true
'lastName' in obj
// true
'height' in obj
// false
function Person() {}
var person = new Person();
var obj = {};
person instanceof Person // true
person instanceof Object // true
obj instanceof Person // false
obj instanceof Object // true
判断数组还是对象 的三种方法
第一种
var a = {};
a.constructor
// ƒ Object() { [native code] }
[].constructor
// ƒ Array() { [native code] }
第二种
var a = {};
[] instanceof Array
// true
a instanceof Array
// false
第三种
Object.prototype.toString.call([]);
// "[object Array]"
Object.prototype.toString.call({});
// "[object Object]"
Object.prototype.toString.call(123);
// "[object Number]"