js如何传递函数指针

JavaScript013

js如何传递函数指针,第1张

首先明确一下,js里面没有指针这个说法,只有引用。所以应该是js如何传递函数的引用的。

function fu(){}

这里fu就是一个函数的引用变量,而fu()则是这个函数。

var n=fu()

这是把这个函数给了n,即n也是fu()这个函数的引用变量了,他可以访问fu()里面的东西。

var n=fu;

这个属于函数的引用的传递,也表示n指向了fu()函数,但是区别是,n此时不会解析函数,而上面则会开始解析函数fu()。

function sayColor() {

console.log(this.color)

return 1

}

alert(sayColor()) // 1

alert(sayColor) // 函数

// js里面没有指针,不要学C++学疯了

函数调用

function test(){

alert(1)

}

直接调用

test()

指定内部this指针调用

(1)test.call(window)//执行test函数,将方法内部this指向window

(2)test.apply(window)///执行test函数,将方法内部this指向window

通过事件调用

window.onload = test//当页面载入时调用

window.onerror = test当页面发生错误时调用