首页 > 编程语言 > 详细

数组和对象的使用方法

时间:2019-07-18 01:49:45      阅读:113      评论:0      收藏:0      [点我收藏+]

数组和对象应用

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

 

 

数组和对象的使用方法

原文:https://www.cnblogs.com/jing-tian/p/11204387.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!