for in

对象遍历:

let obj={
	x:1,
	y:2
}
for(let i in obj){
	console.log(i)//x ,y
}
//但是我们在对象的原型上定义一个属性过后
Object.property.z=3
for(let i in obj){
	console.log(i)//x ,y,z
}
//问什么呢?Object有那么多的属性比如z,toString...
//那为什么值将z属性遍历

以上情况:

//我们对对象的属性定义有
//obj.key=value
//Object.difinedProperty()
 以obj.key这种方式定义的属性默认是configurable,enumerable,writable这些都是为true
//只有enumerable为true时对象才能被便利

Object.definedProperty(obj,key,{//属性描述
	//配置项 详情请见我的js篇
    configurable:true,//以这种的方式定义属性 默认为false
    //可便利
	enumerable:true//以这种的方式定义属性 默认为false//这两个属性不能和get set 两个函数一起出现,他们是互斥的
	value:值,
	writable:true,//以这种的方式定义属性 默认为false
	)
	(//get set 
	 set(newValue){
        console.log('set');
        this.name = newValue   //设置或修改属性时,会调用set函数,把设置的值通过参数传进去后,用一个变量或属性保存。并且当调用get,return就是返回的这个值
     },
     get(){
         return this.name;   //当读取属性时 返回return的值
      }})
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值