文章目录
一、call的使用
1.让函数执行
<script>
var name="qq";
function say(){
console.log("我是say函数...");
}
say.call();
</script>
2.改变this的指向
<script>
function say(){
console.log("我是say函数...");
console.log(this.name);
}
let obj1 = {
name:"wc" }
let obj2 = {
name:"xq" }
// (1)让函数执行
// (2)让say函数中的this指向obj1
say.call(obj1)
// (1)让函数执行
// (2)让say函数中的this指向obj2
say.call(obj2)
</script>
3.函数可以传参
<script>
function say(a,b){
console.log("我是say函数~,参数是:",a,b);
console.log(this.name);
}
let obj1 = {
name:"wc" }
let obj2 = {
name:"xq" }
// (1)让函数执行
// (2)让say函数中的this指向obj1
// (3)传参
say.call(obj1,1,2)
// (1)让函数执行
// (2)让say函数中的this指向obj2
// (3)传参
say.call(obj2,3,4)
</script>
二、apply的使用
apply的作用与call完全相同,不同之处在于传参的方式,apply需要传递一个数组:
<script>
function say(a,b){
console.log("我是say函数~,参数是:",a,b);
console.log(this.name);
}
let obj1 = {
name:"wc"}</