js 高階知識

2021-08-29 13:45:52 字數 1186 閱讀 5425

閉包

注意到返回的函式在其定義內部應用了區域性變數arr,當乙個函式返回乙個函式後,其內部的區域性變數還被新函式引用,閉包用起來簡單,實現起來不容易。

箭頭函式

x => x * x 

相當於function(x)); // 25比方說對乙個array求和,就可以用reduce實現:

var arr = [1, 3, 5, 7, 9];

arr.reduce(function (x, y) ); // 25

sort()

arraysort()方法預設把所有元素先轉換為string再排序,結果'10'排在了'2'的前面,因為字元'1'比字元'2'的ascii碼小

要按數字大小排序,我們可以這麼寫:

'use strict';

var arr = [10, 20, 1, 2];

arr.sort(function (x, y)

if (x > y)

return 0;

});console.log(arr); // [1, 2, 10, 20]

例如,在乙個array中,刪掉偶數,只保留奇數,可以這麼寫:

var arr = [1, 2, 4, 5, 6, 9, 10, 15];

var r = arr.filter(function (x) );

r; // [1, 5, 9, 15]

把乙個array中的空字串刪掉,可以這麼寫:

var arr = ['a', '', 'b', null, undefined, 'c', '  '];

var r = arr.filter(function (s) );

r; // ['a', 'b', 'c']

可見用filter()這個高階函式,關鍵在於正確實現乙個「篩選」函式。

js 高階知識

1 caller 表示呼叫該函式的函式 function fun1 function fun2 fun2 11,22 11 2 function foo var foo new foo var p foo.prototype foo.prototype alert foo.constructor a...

js 高階知識

1 開啟乙個視窗就會有乙個window物件 如頁面上的iframe window中包含document,document主要是來操作dom元素的 頁面上的標籤元素 2 我們在頁面上宣告乙個全域性變數其實是宣告在window物件上的,eg var abc jy alert window.abc ale...

js高階知識小結 三

1 什麼是物件導向?是一種程式設計思想 將屬性和方法封裝在一起,然後通過.語法呼叫 2 物件導向好處 a 物件導向思維方式是一種更符合人們思考習慣的思想 b 面向過程思維方式中更多的體現的是執行者 自己做事情 物件導向中更多的體現是指揮者 指揮物件做事情 c 物件導向思維方式將複雜的問題簡單化。3 ...