JS-14-对象-属性 / 遍历 / 解构赋值

一、对象属性相关
  1. 什么是instanceof关键字?
    instanceof用于判断 “对象” 是否是指定构造函数的 “实例”;
  • instanceof注意点:只要 构造函数的原型对象出现在实例对象的原型链中都会返回true;
    console.log(stu instanceof Person); // true
  1. JavaScript-isPrototypeOf属性
    1.什么是isPrototypeOf属性: isPrototypeOf用于判断 一个对象是否是另一个对象的原型;
    console.log(Person.prototype.isPrototypeOf(stu)); // true
  • isPrototypeOf注意点:只要调用者在传入对象的原型链上都会返回true;
  1. JavaScript-判断对象属性
  • 需求: 判断某一个对象是否拥有某一个属性;
    in的特点: 只要类中或者原型对象中有, 就会返回true;
    console.log("name" in p); // true

  • 需求: 判断某一个对象自身是否拥有某一个属性;
    console.log(p.hasOwnProperty("name")); //true;


二、什么是对象的遍历?

对象的遍历就是依次取出对象中所有的属性和方法;

  1. 如何遍历一个对象?
    在JS中可以通过高级for循环来遍历对象;

以下代码的含义: 将指定对象中所有的属性和方法的名称取出来了依次的赋值给key这个变量;
for(let key in obj){}

例:

  function Person(myName, myAge){
            this.name = myName;
            this.age = myAge;
            this.say = function(){
                console.log(this.name, this.age);
            }
        }
  let p = new Person("abc", 22);
  console.log(p);
  
  for(let key in p){
            if(p[key] instanceof Function){
                continue;
            }
            
            // console.log(key); // name / age / say
            // 注意点: 以下代码的含义取出p对象中名称叫做当前遍历到的名称的属性或者方法的取值;
            
            console.log(p[key]); // p["name"] / p["age"] / p["say"]
            // 注意点: 以下代码的含义取出p对象中名称叫做key的属性的取值
            // console.log(p.key); // undefined
        }

四、JavaScript-对象解构赋值

注意点: 在对象解构赋值中, 左边的变量名称必须和对象的属性名称一致, 才能解构出数据;

例:
let {name, age} = {name: "abc",age: 34};

let {age} = {name: "abc",age: 34};
        console.log(age); // 34
数组解构赋值应用举例:
let arr = [1, 3];

function sum([a, b]) {
            return a + b;
        }
        
 // let res = sum(arr[0], arr[1]);
 let res = sum(arr);
     
  console.log(res);
  
****************************
对象解构赋值应用:
let obj = {
            name: "abc",
            age: 33
        }
       
function say({name, age}) {

     console.log(name, age);
        }
        
say(obj); 
      

-End

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值