色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

javascript 秘密花園 pdf

謝彥文1年前6瀏覽0評論
JavaScript 秘密花園 PDF 究竟能帶給我們什么樣的收獲呢?對于熟練掌握 JavaScript 的開發者來說,通讀該書會發現其中有不少干貨可供借鑒。本文將向讀者詳細介紹 JavaScript 秘密花園 PDF。

JavaScript 秘密花園 PDF 是《JavaScript 性能優化》和《JavaScript 底層深入》的作者花費大量時間編寫的一本面向專業 JavaScript 開發者的優秀書籍。它以非常詳實、深入的探討方式講解了 JavaScript 相關的各個方面。閱讀后深感修改之前所實現的 JavaScript 代碼都非常淺薄。

下面,我們來看一些該書中提到的 JavaScript 進階技術。

作為函數的一等公民

function add(x, y) {
return x + y;
}
function subtract(x, y) {
return x - y;
}
function multiply(x, y) {
return x * y;
}
function divide(x, y) {
return x / y;
}
// 首先定義一個符號和相應函數映射起來的對象
var operators = {
'+': add,
'-': subtract,
'*': multiply,
'/': divide
};
function calculate(a, operator, b) {
return operators[operator](a, b);
}
var result = calculate(1, '+', 2); // 3

利用該方法,常規的 if else 處理可以得到較好的改良。

拓展內置方法

// example 1
String.prototype.reverse = function() {
return this.split('').reverse().join('');
}
var str = 'Hello world';
console.log(str.reverse()); // dlrow olleH
// example 2
Array.prototype.flatten = function() {
return this.reduce(function(a, b) {
if (Array.isArray(b)) {
return a.concat(b.flatten());
} else {
return a.concat(b);
}
}, []);
}
var arr = [1, [2, [3, 4], 5]];
console.log(arr.flatten()); // [1, 2, 3, 4, 5]

這種技術有很多應用,例如為 Array 包含更多相關的工具方法,或者是為字符串添加實用工具函數等。

減少算法和計算的時間復雜度

function hasDuplicates(arr) {
var i, n;
var obj = {};
for (i = 0, n = arr.length; i< n; i++) {
if (obj[arr[i]]) {
return true;
}
obj[arr[i]] = true;
}
return false;
}
console.log(hasDuplicates([1, 2, 3, 4]));      // false
console.log(hasDuplicates([1, 2, 3, 2]));      // true

該方法在判斷是否存在重復元素時可以像數組和對象一樣自由使用。同時,當數組成員數量很多時,其性能也能夠保持在較好的水平,不會因為元素的數量增加而降低性能。

總結

JavaScript 秘密花園 PDF 可以幫助我們更加深入地理解和使用 JavaScript,讓我們在使用中能夠更靈活、更高效地完成相應的工作。好書,值得讀!