JavaScript 对象的枚举 for in

JavaScript

对象的枚举 for in

	var obj = {
		name = 'wwn',
		age = 18,
		sex = 'male'
		__proto__ = {
						lastName : 'oldWwn'
					}
			}
  1. hasOwnProperty

    用来判断 (prop)的属性是不是对象自已的,如果是就返回 true, 否就返回false (可用来打印出 自己的属性。)

    原型链上的 和系统的Object 他不会关注。

        for (var prop in obj) {
        	if ( obj.hasOwnProperty(prop)){
            	console.log(obj[prop]);
            	}
        }
		//wwn
		//18
		//'male'

原型链上的 和系统的Object 他 (hasOwnProperty) 不会关注。

  1. in

    只能判断属性是不是属于这个对象。(原型上的也能找到 , 这个功能基本用不上。)
	'name' in obj
	// true
	'lastName' in obj
	// true
	'height' in obj	
	// false
  1. instanceof

    用法类似 in 的用法 
    
    看A对象的原型链上 有没有 B的原型
    A instanceof B
    
    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]"

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值