JavaScript傳奇書
談到JavaScript,它必定是Web開發(fā)中不可缺少的一部分。在很長一段時間里,JavaScript甚至被認為是一種“Toy Language”,僅僅是一些小效果的實現(xiàn)。然而隨著Web應(yīng)用的開發(fā)越來越復(fù)雜,JavaScript的重要性被越來越多的人所認識和重視。
JavaScript的特點是它既是一種弱類型的腳本語言(可以通過變量名隨意賦值,同時在運行時會自動決定它的類型),又支持函數(shù)式編程,這一特點也讓JavaScript在一定程度上成為了OOP和FP的“某種混合體”。
下面我們來看看一些在實踐中使用JavaScript編寫的傳奇書。
《JavaScript: The Definitive Guide》
function reverse(word) {
return word.split('').reverse().join('');
}
console.log(reverse("mike")); //"ekim"
由Douglas Crockford編寫的《JavaScript: The Definitive Guide》是一本經(jīng)典的JavaScript參考書籍。它詳細解釋了JavaScript的語法、特點、應(yīng)用和實現(xiàn)。該書包含了JavaScript的大量細節(jié),并提供了一些有價值的最佳實踐。
上面的代碼展示了如何使用JavaScript編寫一個反轉(zhuǎn)字符串的函數(shù),它通過split()函數(shù)將輸入字符串分割,再通過reverse()函數(shù)進行顛倒,最后用join()函數(shù)拼接。這一小技巧可以用于許多字符串處理操作,例如字符反轉(zhuǎn),字符串裁剪等。
《JavaScript: The Good Parts》
function isPalindrome(word) {
return word === word.split('').reverse().join('');
}
console.log(isPalindrome("racecar")); //true
console.log(isPalindrome("javascript")); //false
另一位JavaScript大師Douglas Crockford也編寫了《JavaScript: The Good Parts》,這是一本非常實用的JavaScript書籍。該書的重點在于介紹了JavaScript的一些最佳實踐和精華部分,以及避免一些常見的JavaScript陷阱。
上面的代碼展示了一個判斷字符串是否為回文的函數(shù),它同樣使用了反轉(zhuǎn)字符串的技巧,再通過比較反轉(zhuǎn)前后的字符串是否相等,判斷是否為回文。這樣的一個小技巧同樣可以應(yīng)用于大型項目中需要進行字符串判斷的場景中,例如密碼驗證。
《Eloquent JavaScript》
function isEven(n) {
if (n === 0) return true;
else if (n === 1) return false;
else if (n < 0) return isEven(-n);
else return isEven(n - 2);
}
console.log(isEven(50)); //true
console.log(isEven(75)); //false
console.log(isEven(-1)); //false
"Eloquent JavaScript"是一本有批評家稱之為「九十年代以來最有價值的計算機書籍之一」 "Eloquent JavaScript"是一本通俗易懂的JavaScript教程。該書使用大量的例子和練習,并讓讀者用代碼實際編寫程序,讓讀者真正了解如何使用JavaScript。
上面的代碼展示了一個求偶數(shù)的函數(shù),它使用了遞歸的技巧。如果輸入為0,返回true;如果輸入為1,返回false;如果輸入為負數(shù),僅僅取其相反數(shù)再進行判斷;如果輸入為其他正整數(shù),減去2后繼續(xù)遞歸。這個小技巧可以被應(yīng)用在JavaScript函數(shù)編寫中的遞歸場景中。
總體結(jié)論
以上的三本傳奇書都是JavaScript世界中的真正精華。它們展現(xiàn)了JavaScript全部的價值,同時也為讀者介紹了JavaScript在實踐中的具體應(yīng)用。總體來說,在JavaScript學(xué)習和使用過程中必須要有自己的“傳奇書”,以指導(dǎo)和加強自己的JavaScript技能。