码迷,mamicode.com
首页 > 移动开发 > 详细

JavaScript call apply

时间:2021-01-18 10:47:36      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:返回   var   哈哈   bind   call   push   成都   lin   lang   

call()、apply()、bind() 都是用来重定义 this 这个对象的

bind 返回的是一个新的函数,必须调用它才会被执行

var name = ‘rannie‘, age = 17;
var obj={
    name: ‘coolin‘,
    objage: this.age,
    muFun: function(){
        console.log(this.name + ‘年轮‘ + this.age);
    }
}
var db = {
    name: ‘哈哈‘,
    age: 30
}
obj.myFun.call(db);    // 哈哈年轮30
obj.myFun.apply(db);    // 哈哈年轮30
obj.myFun.bind(db)();    // 哈哈年轮30

传参的情况下,

obj.myFun.call(db,‘成都‘,‘上海‘);     // 单个
obj.myFun.apply(db,[‘成都‘,‘上海‘]);     // 数组

数组直接追加

var array1 = [12 , "foo" , {name:"rannie"} , 2222]; 
var array2 = ["Rannie" , 666 , 100]; 
Array.prototype.push.apply(array1, array2); 
// array1 值为  [12 , "foo" , {name:"rannie"} , 2222 , "Rannie" , 666 , 100]

JavaScript call apply

标签:返回   var   哈哈   bind   call   push   成都   lin   lang   

原文地址:https://www.cnblogs.com/kai-/p/14286770.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!