首页 > 其他 > 详细

1202函数的方法

时间:2020-04-15 19:50:49      阅读:58      评论:0      收藏:0      [点我收藏+]

function fun(a,b) {
console.log("a = "+a);
console.log("b = "+b);
//alert(this);
}

var obj = {
name: "obj",
sayName:function(){
alert(this.name);
}
};

/*
* call()和apply()
* - 这两个方法都是函数对象的方法,需要通过函数对象来调用
* - 当对函数调用call()和apply()都会调用函数执行
* - 在调用call()和apply()可以将一个对象指定为第一个参数
* 此时这个对象将会成为函数执行时的this
* - call()方法可以将实参在对象之后依次传递
* - apply()方法需要将实参封装到一个数组中统一传递
*
* - this的情况:
* 1.以函数形式调用时,this永远都是window
* 2.以方法的形式调用时,this是调用方法的对象
* 3.以构造函数的形式调用时,this是新创建的那个对象
* 4.使用call和apply调用时,this是指定的那个对象
*/

//fun.call(obj,2,3);
fun.apply(obj,[2,3]);

 

var obj2 = {
name: "obj2"
};

/*fun.apply();
fun.call();
fun();*/

//fun.call(obj);
//fun.apply(obj);

//fun();

//obj.sayName.apply(obj2);

1202函数的方法

原文:https://www.cnblogs.com/xt888/p/12707413.html

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