call 的個人理解

2022-08-20 23:00:20 字數 807 閱讀 9274

先看兩道道面試題

面試題1:

var number = 50;

var obj =

}console.log(obj.getnum());

console.log(obj.getnum.call());

console.log(obj.getnum.call());

面試題2:

"use strict";

var number = 50;

var obj =

}console.log(obj.getnum());

console.log(obj.getnum.call());

console.log(obj.getnum.call());

上面的兩道題答案自己先想下為什麼?

舉個例子

function

fn()

fn.call();

//普通模式下this是window,在嚴格模式下this是undefined

fn.call(null); //

普通模式下this是window,在嚴格模式下this是null

fn.call(undefined); //

普通模式下this是window,在嚴格模式下this是undefined

現在是否就明白點了?

下面來公布答案:

面試題1:   60    50    20

面試題2:   60    undefined   20;

看過例子後應該會明白了一些吧!

call初步理解

function.prototype.call function context function.prototype.call.call context 相當於 this bind context this指function.prototype.call,於是相當於 function.protot...

新手理解 apply 和 call

假設我們有乙隻喵星人 const cat can run 還可以跳 包括跳牆是可以的 jump can jump 複製 同時,它還有乙個小夥伴汪星人 const dog can run 還會吠 bark bark loudly 馬戲團的?還會做算數 count a,b 複製 不難發現,貓狗各有所長....

我所理解的call和apply

一 先來看看示例 這兩個方法的用途都在特定的作用域中呼叫函式,實際上等於設定函式體內this物件的值。例一 123 4567 891011 1213 1415 function box num1,num2 function sum num1,num2 alert sum 10,10 function...