看了很多篇講解call和apply的文章,感覺理解上越來越混亂T.T一篇文章里有這樣一個例子:// 獲得數組中最大的元素var arr = [1, 8, 10, 3, 24, 89, 26];
var m = Math.max.apply(Math, arr); // m => 89我想問的是,為什么這里可以實現獲取最大數值的元素呢?為什么要在apply的第一個參數那里把Math自己給傳進去呢?apply的第一個參數不是指定函數運行時的作用域嗎?理解不了...下面這個例子我能看懂,但是上面那個例子怎么也理解不了var name = 'out';var o1 = { name: 'hello'};var o2 = { name: 'world'};function sayName() {
alert(this.name);
}
sayName.call(this); // outsayName.call(window); // outsayName.call(o1); // hellosayName.call(o2); // world有哪位可以回答一下我的疑問嗎,謝謝啦≡ω≡
js中apply和call的疑問
叮當貓咪
2018-08-03 13:10:28