JS学习day2

    xiaoxiao2021-03-25  169

    JS学习day2

    方法

    对象绑定的函数我们称为方法。 //js对像的定义 var xiaoming = { name: '小明', birth:1990 }; //我们给小明绑定一个方法 var xiaoming = { name: '小明', birth:1990, age:function(){ var y = new Date().getFullYear(); return y - this.birth; } }; xiaoming.age();

    函数内部的this指的xiaoming这个变量,this.birth拿到xiaoming 的birth属性。

    apply的使用

    apply方法接受两个参数,一个为需要绑定的this变量,第二个参数是Array,表示函数本身的参数

    function getAge(){ var y = new Dare().getFullYear(); return y - this.birth; } var xiaoming = { name:'小明', birth:1990, age:getAge }; xiaoming.age();//25 getAge.apply(xiaoming,[]); //25, this指向xiaoming,参数为空

    apply()与call()的区别就是apply()是把参数传入时放入列表导入, call是按顺序传入。

    装饰器

    这个和python的装饰器的理念有点像,都是对于函数添加新的功能,在不改变函数的调用的情况下。

    //查看函数本调用了多少次 var count = 0; var oldParseInt = pareInt;//保存原函数 window.parseInt = function(){ count + = 1; return oldParseInt.apply(null,arguments);//调用原函数 }; //测试: parseInt('10'); parseInt('15'); count;//2

    高阶函数

    定义了一个函数,这个函数可以接受参数,并且可以接受另外一个函数作为参数。

    function add(x,y,func){ return func(x) + func(y) }

    add(-5,6,Math.abs)时,func=Math.abs这个函数,x=-5,y=6。 然后进行计算func(-5) + func(6)返回结果。

    map/reduce

    当看到这两个函数的时候,我突然想起的py里好像也有这么两个函数,有种天下语言是一家的感觉。

    function pow(){ return x * x; } var arr = [1,2,3,4,5,6,7] arr.map(pow);//[1,4,9,16,25,36,49]
    转载请注明原文地址: https://ju.6miu.com/read-1270.html

    最新回复(0)