2016-03-16 3 views
2
var tempFn = function(someText){ 
console.log(someText); 
} 

tempFn('siva'); 
// where I simply call the function with text 'siva' 

противразница между п() и fn.call() в JavaScript

tempFn.call(this,'siva'); 
// where I call the function using call method 

В чем разница между этими подходами?

+2

Вы прочитали [документацию '.call'] (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/call)? –

ответ

3

Когда вы используете форму call, вы явно указываете на контекст, с которым будет вызвана функция.

Контекст определит, что такое значение this, когда выполняется ваша функция.

В вашем случае вы проходите в this, который по умолчанию будет по умолчанию, поэтому он не работает. Кроме того, ваша функция tempFn не вызывает ключевое слово this, поэтому в любом случае это не имело бы значения, если бы вы перешли в другую область.

+0

Спасибо, Джонатан, теперь я понимаю о звонке –

Смежные вопросы