A.AMD規(guī)范:是 RequireJS在推廣過程中對模塊定義的規(guī)范化產(chǎn)出的
B.CMD規(guī)范:是SeaJS 在推廣過程中對模塊定義的規(guī)范化產(chǎn)出的
C.CMD 推崇依賴前置;AMD 推崇依賴就近
D.CMD 是提前執(zhí)行;AMD 是延遲執(zhí)行
E.AMD性能好,因為只有用戶需要的時候才執(zhí)行;CMD用戶體驗好,因為沒有延遲,依賴模塊提前執(zhí)行了
寧洱網(wǎng)站建設公司創(chuàng)新互聯(lián),寧洱網(wǎng)站設計制作,有大型網(wǎng)站制作公司豐富經(jīng)驗。已為寧洱上千家提供企業(yè)網(wǎng)站建設服務。企業(yè)網(wǎng)站搭建\成都外貿(mào)網(wǎng)站建設公司要多少錢,請找那個售后服務好的寧洱做網(wǎng)站的公司定做!
console.log(['1','2','3'].map(parseInt));
const person = { name: "leo" };
function say(age) {
return `${this.name} is ${age}`;
}
console.log(say.call(person, 5));
console.log(say.bind(person, 5));
公眾號【今天也要寫bug】,每日更新前端面試題
// 答案:[1, NaN, NaN]
// 考察 map 方法和 parseInt 方法
// map 方法接受兩個參數(shù):callback 和 thisArg
// callback 接受 3 個參數(shù):currentValue、index、array
// parseInt 接受 2 個參數(shù):string、radix
console.log(["1", "2", "3"].map(parseInt));
// 此處 parseInt 即為 callback
// 所以 parseInt 的兩個參數(shù)為:currentValue、index
// 等價于:
console.log(
["1", "2", "3"].map((currentValue, index) => parseInt(currentValue, index))
);
// currentValue='1'時,index=0,parseInt('1', 0)=1
// 涉及 parseInt 的特殊情況,當 parseInt 的第二個參數(shù)未指定或為0,第二個參數(shù)會自行推斷
// 根據(jù)推斷規(guī)則(詳見MDN),parseInt('1', 0)=parseInt('1', 10)=1
// currentValue='2'時,index=1,parseInt('2', 1)=NaN,radix 不等于0 且 不在 2~36 之間,則結(jié)果為 NaN
// currentValue='3'時,index=2,parseInt('3', 2)=NaN,因為 3 不是有效的 2 進制數(shù)
// 當 radix 是有效的值(2~32),待轉(zhuǎn)換的字符串的每一位必須是有效的 radix 進制數(shù)
// 答案:leo is 5 和 一個函數(shù)
// 考察 call 和 bind 的區(qū)別
// call 和 apply 返回的是指定 this 和參數(shù)后調(diào)用函數(shù)的值(是結(jié)果)
// bind 返回的是指定 this 和參數(shù)后的函數(shù)的拷貝(是函數(shù))
const person = { name: "leo" };
function say(age) {
return `${this.name} is ${age}`;
}
console.log(say.call(person, 5));
console.log(say.bind(person, 5));