如題;在js中我們都知道call/apply,還有比較少用的bind;傳入的第一個參數都是改變函數當前上下文對象;call/apply區別在於傳的參數不同,一個是已逗號分隔字符串,一個以數組形式。而bind和call幾乎沒差別只是將值返回。
可是當我們將null/undefined作為值傳進去的時候呢?居然得到的是window,當前js運行環境的全局對象。
這其實在es5中就有解釋的:傳入null/undefined的時候將執行js全局對象瀏覽器中是window,其他環境是global。這樣就解釋得通了。
參考:http://www.cnblogs.com/snandy/archive/2012/03/01/2373243.html