-
不定項選擇題:
以下能對一維數組 a 進行正確初始化的語句是() A. int a[10]={0, 0, 0, 0, 0}; B.int a[10]={ }; C.int a[]={0}; D.int a[10]={10*a};
解答:
數組的初始化: 1、a[10] = {1,2,3};//隨後元素補零 2、a[] = {1,2}//編譯器自動計算元素個數,相當於a[2] = {1,2}; 3、a[10] = {}//編譯器自動將所有元素置零
-
apply,call,bind的用法和區別(方法劫持)
用途:手動改變this的指向
區別:1.apply和call會使當前函數立即執行,bind會返回一個函數,後續需要時再調用
-
call是apply的語法糖,只有傳的參數不同,call中要傳多個任意參數,apply只可以直接傳數組或者類數組
-
bind是爲函數綁定一個this上下文
規則:
fn.apply(上下文環境,執行所需數組) fn.call(上下文環境,執行所需單個參數) fn.bind(上下文環境)
ps:如果上下文的值爲null,則使用全局對象代替,相當於沒傳上下文還用以前的
apply可以將一個數組轉換爲一個參數列表([p1,p2,p3]轉換爲p1,p2,p3)
var arr=[1,2,3,4] console.log (Math.max.apply(null,arr))//4
Math.max()只能傳數字,可以使用apply將數組轉爲一個一個參數傳入
-
js基礎練練手(二)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.