apply 和call都沒有返回值。所以result 永遠是undefined。
這里改變this指向,是不是可以用apply比較好,這樣還可以通過arguments傳入?yún)?shù)
這里改變this指向,是不是可以用apply比較好,這樣還可以通過arguments傳入?yún)?shù)
2021-03-27
定義一個局部變量也可以喔
function bind(){
for(var i =0; i < buttons.length; i++){
let num = i;
buttons[i].func = function(){
console.log(num);
}
}
}
function bind(){
for(var i =0; i < buttons.length; i++){
let num = i;
buttons[i].func = function(){
console.log(num);
}
}
}
2021-03-20
new 函數(shù)是 在堆內(nèi)存區(qū)進行初始化的. 同時返回了初始化空間的首地址, 也做了__proto__的連接, 這個連接就是'面向?qū)ο?#039;的繼承鏈的實現(xiàn)原理, 也就是把新建對象的__proto__指向構(gòu)造函數(shù)的prototype屬性 從而實現(xiàn)繼承 如果自身有屬性覆蓋了這個鏈接(原型鏈)上的同名屬性/方法 就實現(xiàn)了多態(tài) 至于面向?qū)ο蟮牧硗庖粋€重要特征'封裝' 主要是通過javascript中作用域的方式實現(xiàn)的 在構(gòu)造方法中 掛載在this下的屬性/方法 可以被實例使用 因為返回對象的初始全貌就是在構(gòu)造函數(shù)中通過this定義的 但比如用var定義的局部變量 就無法被實例話的對象使用了 這是所謂的'封裝'
2021-03-20
最贊回答 / 慕移動8214662
length長度為2,當2進入循環(huán)以后 這個循環(huán)體已經(jīng)循環(huán)了3次了,下一輪循環(huán) var i = 3 此時判斷不滿足條件才跳出的循環(huán)
2021-03-17