• 数组和对象的使用方法


    数组和对象应用

    ---》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

     

  • 相关阅读:
    Windows phone 墓碑机制的一些源码
    关于Image一些比较抽象的东西(Build Type与 同步以及异步加载的差异)
    自定义控件之Button控件的自定义
    Java集合最全解析,学集合,看这篇就够用了!!!
    看完让你彻底搞懂Websocket原理
    别人的前途我不敢决定
    花一年的时间让自己过得像个人样
    开篇
    你看得懂吗?
    反思
  • 原文地址:https://www.cnblogs.com/jing-tian/p/11204387.html
Copyright © 2020-2023  润新知