JS閉包 練習題

2021-08-14 15:15:08 字數 529 閱讀 7472

牛客網關於閉包的一道題的解析

實現函式 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兩者關聯 開闢乙個堆記...