數組和對象的使用方法


數組和對象應用

---》let arr1=[5,4,3,2];        //定義數組                arr1[2]
---》let arr2=[0,1,[2,3],4];               //二級數組,嵌套數組            arr2[2][1]
---》let arr3=[4,3,{"name":"lucas"},1]    //數組對象                arr3[2].name
---》let arr4=[4,3,{"name":[3,2,1]},1]    //多級嵌套                arr4[2].name[1]
---》let arr5=[5,4,function(){return console.log('hello')},2,1]    //數組方法(函數)     arr5[2]()        //必須存在括號


---》let obj1={"name":"lucas","age":23};    //定義對象                       obj1.name
---》let obj2={"name":{"age":23}};    //二級對象,嵌套對象                obj2.name.age
---》let obj={name:"zhangsan",colors:["red", "green", "blue"]};   //對象數組            obj.colors[1]    
---》let obj4={"name":[5,4,3,{age:22},1]}    //多級嵌套                    obj4.name[3].age
---》let obj5={"name":"lucas",my:function(){console.log(return this.name)}}  //對象函數    obj5.my()     //如果是多級嵌套函數則需加上obj5.my()()

1.普通對象方法
let obj5={"name":"lucas",my:function(){
    return function(){alert("code")};
}}
alert(obj5.my()())    //code

2.普通對象方法
let obj5={"name":"lucas",my:function(){
    var name="code"        //永遠不會指向這個
    return function(){console.log(this.name)}   //沒有指向上級    
}}
obj5.my()()    //空白或者undefine

3.箭頭函數(1)
let obj={name,age,myFun:()=>console.log(this.name)}   //箭頭函數指向window,或者全局name變量

 箭頭函數會捕獲其所在上下文的 this 值,作為自己的 this 值

4.箭頭函數(2)
let obj5={"name":"lucas",my:function(){
    var name="code";        //永遠不會指向這個
    return ()=>{alert(this.name)};        //箭頭函數指向上級函數
}}
obj5.my()()    //lucas
4.箭頭函數(3)

  var obj = {
  a: 10,
  b: function(n){
  var f = (v) => v + this.a;  1+10
  return f(n);
  },
  c: function(n) {
  var f = (v) => v + this.a;

  //var f = function(v){return v + this.a}; //輸出25

  var m = {a:20};
  return f.call(m,n);  //通過 call() 或 apply() 方法調用一個函數時,只是傳入了參數而已,對 this並沒有什么影響
  }
}

 
         

console.log(obj.b(1)); //11
console.log(obj.c(1)); //11  //f.call(m,n);如果n=5則輸出15

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM