Function call - garevna/js-course GitHub Wiki
:mortar_board: Биндинг и каррирование
:mortar_board: call()
Первым обязательным аргументом метода является ссылка на объект, в контексте которого будет вызвана функция
window.name = "window"
function func () {
console.log ( this.name )
}
var figure = {
name: "figure"
}
var sample = {
name: "sample"
}
func () // window
func.call ( figure ) // figure
func.call ( sample ) // sample
Далее может следовать перечень аргументов:
function func () {
console.log ( this.name, arguments )
}
var figure = { name: "figure" }
var sample = { name: "sample" }
func.call ( figure, 9, false, "Hello" )
func.call ( sample, 5, 1, "Bye" )
Результат в консоли:
figure ► Arguments(3) [ 9, false, "Hello", callee: ƒ, Symbol(Symbol.iterator): ƒ ]
sample ► Arguments(3) [ 5, 1, "Bye", callee: ƒ, Symbol(Symbol.iterator): ƒ ]