牛客網關於閉包的一道題的解析
實現函式 makeclosures,呼叫之後滿足如下條件:
1、返回乙個函式陣列 result,長度與 arr 相同
2、執行 result 中第 i 個函式,即 resulti,結果與 fn(arr[i]) 相同
示例1
輸入 [1, 2, 3], function (x)
輸出 4
var arr=[1,2,3];
function
fn(x)
function
makeclosures
(arr, fn) );
})return result;
}var result=makeclosures(arr,fn);
console.log(result); //(3) [ƒ, ƒ, ƒ]
console.log(result[2]()); //9
console.log(result[1]()); //4
閉包練習題
var data for var i 0 i 3 i i data 0 data 1 data 2 答案 0 1 2function fun n,o var a fun 0 這裡第一次呼叫fun時輸出undefined,返回了乙個物件給a,n 0 a.fun 1 這裡首先呼叫了a物件的屬相fun,屬...
閉包作用域練習題2
寫出下列 的輸出結果 let a 0,b 0 function a a alert a a 1 a 2 此題的 函式執行會形成上下文,如果當前這個上下文中的內容 一般是堆記憶體 被之外的變數占有,那麼當前這個執行上下文不被釋放。全域性的執行上下文ec g 中有乙個儲存全域性變數的物件vo g 建立值...
THIS和閉包的綜合練習題
寫出下面 的輸出結果 var x 3,obj obj.fn function var fn obj.fn obj.fn 6 fn 4 console.log obj.x,x 此題的 全域性 執行形成乙個全域性上下文ec g 有乙個全域性變數物件vo g 建立乙個值3,建立變數x兩者關聯 開闢乙個堆記...