Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537
上的文章和教程很多,有經(jīng)驗的人能夠根據(jù)他人的資料制定出屬于自己的學習方法和路徑,但對于小白來說,還是有些難度。所以我寫了這篇文章,結合個人學習前端的經(jīng)歷。針對0基礎,非科班,沒有編程經(jīng)驗,想學前端,但是不知道如何入門的人群。
結合個人經(jīng)歷總結的前端入門方法,總結從零基礎到具備前端基本技能的道路、學習方法、資料。由于能力有限,不能保證面面俱到,只是作為入門參考,面向初學者,讓初學者少走彎路。
前端也是編程,和計算機原理是分不開干系的。因此在學習前端之前,最好先大致了解一下,不需要有多深入。看這幾本書就行:
這個前端工程師知識圖譜很全面,達到這個程度已經(jīng)是3-5年程度了,但是新手可能看不懂。沒關系,大致瀏覽一遍里面的每個名詞,然后跳到第三部分“制定計劃”
這是阿里云大學的《前端開發(fā)學習路線》[6]課程,是我綜合了中國慕課網(wǎng)、黑馬程序員、網(wǎng)易公開課、網(wǎng)易課堂、騰訊課堂 、慕課網(wǎng)、coursera等各個課程機構得出來最好的課程。非常適合新手小白一站式入門前端。
學習計劃以此為準,可入門看懂代碼。在此基礎上,輔以書籍,便可進階。再然后,就靠實戰(zhàn)做項目積累經(jīng)驗了。
書籍推薦依次是:
筆者經(jīng)歷到此,正在前進中,共勉。
最后給點建議,讀者在學習前端的時候,可能會陷入一個誤區(qū):
過于沉浸在獲取資訊之中,以為自己看了這些,就能快速成為前端大神了。卻沒有下苦功夫對照課程去動手一行一行地敲代碼。
這是本末倒置。
誠然,相比于枯燥的看書學課敲代碼,看資訊是輕松且容易讓人滿足的,人心肯定會傾向做簡單快樂的事情。但你想,一個人是踏踏實實敲1年代碼之后獲得的成就高,還是漂浮在表面看1年文章之后獲得的成就高?
再舉個例子。王麻子寫博客,看了1年的教你如何寫博客教程,才開始動筆去寫。張二蛋寫博客,把情況了解個大概后,每天就固定保持一篇原創(chuàng)。結果是,1年下來王麻子啥事都沒干成,卻以為自己思維得到了提升,飄在天上。而張二蛋1年下來卻寫了整整365篇原創(chuàng)文章,已然獲得了不小的成就。
這便是術與道。
寫代碼是術,看教程是道。年輕人,先要有術,術練扎實了,道自然就從心中來了。倘若看不清楚,先追求宏觀的大道,卻沒有扎實的術作為基礎,那這就很危險,如樂高積木堆的樓,一碰就倒。練武之前,先扎馬步,也是這個道理。
大道至簡,悟在天成。復雜的事情簡單做,簡單的事情重復做,重復的事情用心做。寫自媒體也是一樣,沒有成功的捷徑,就是寫文章,其他什么引流、什么運營都是表面,只是錦上添花。引流和運營得有土壤才能結果,這個土壤便是你的文章。
每天1篇,堅持寫5年,你就成功了。道理永遠這么簡單。許多人一輩子只停留在知道,卻永遠也悟不透。所以,他們寫不了5年。
日拱一卒,功不唐捐。全情投入,愿等花開。
[1]《計算機是怎樣跑起來的》: https://book.douban.com/subject/26397183/
[2] 《程序是怎樣跑起來的》: https://book.douban.com/subject/26365491/
[3] 《深入了解計算機系統(tǒng)》:https://book.douban.com/subject/26912767/
[4] 《Github入門與實踐》:https://book.douban.com/subject/26462816/
[5] 《樹莓派開始,玩轉Linux》: https://book.douban.com/subject/30259573/
[6] 《前端開發(fā)學習路線》: https://edu.aliyun.com/roadmap/frontend?spm=5176.13345299.1392477.6.4520f153AYCZWC
[7] 《HTML & CSS設計與構建網(wǎng)站》: https://book.douban.com/subject/21338365/
[8] 《HTML5秘籍》:https://book.douban.com/subject/11610880/
[9]《CSS 實戰(zhàn)手冊》: https://book.douban.com/subject/26898555/
[10]《CSS權威指南》: https://book.douban.com/subject/33398314/
[11] 《javascript高級程序設計》:https://book.douban.com/subject/10546125/
[12] 《javascript權威指南》: https://book.douban.com/subject/10549733/
[13] 《HTTP權威指南》:https://book.douban.com/subject/10746113/
第二代Web世界導航,互聯(lián)網(wǎng)人必備
第一代Web世界導航,互聯(lián)網(wǎng)人必備
武漢肺炎,怎么辦?
語雀=新的紅利?
廣告巨頭,字節(jié)跳動
麻雀通訊每天發(fā)布一篇文章,類型是科技、互聯(lián)網(wǎng)與生活。點擊文章頂部“關注”,即可訂閱。
當初笨拙地用記事本鍵入從新華書店偷偷抄來的代碼寫的第一張 HTML 網(wǎng)頁開始,到現(xiàn)在用上最先進的 HTML5、CSS3 以及其它如 jQeury 等各種各樣成熟的 WEB 前端技術,不覺間已經(jīng) 11 年了。一路走來,經(jīng)歷了 HTML 還沒有區(qū)分結構層和表現(xiàn)層、大量使用 Table 嵌套布局的時代。繼而 CSS 神一般地出現(xiàn),卸下 HTML 充當表現(xiàn)層的重擔,成為 WEB 前端開發(fā)新標準的時代。到現(xiàn)在隨著 HTML5 和 CSS3 技術日趨成熟,進入響應式 WEB 前端技術應用的新時代。雖然技術的發(fā)展總是在不斷更新,但學習方法卻并沒發(fā)生多大的改變。作為一名新手,找到一本把你引入一條正確的學習路徑、幫你愉快入門的好書是十分必要的。
猶記得當初資料匱乏,只能靠扒文檔和悟性不斷試錯摸索,每當被一個問題難到時,總期待有一位大神能出手相助,但到最后才發(fā)現(xiàn),能真正幫到你的只有你自己。而提升自己技術能力的最有效手段就是讀書??赡苣銜f看一些技術文檔或網(wǎng)友的博客分享也不錯呀,但這種學習方法的缺點是很明顯的。比如對于遇到的某些問題可能當時根據(jù)別人提供的現(xiàn)成方案解決了,卻少了系統(tǒng)性的學習才能對知識點的消化,當下次再遇到同樣問題時,難免需要再次返回來尋找解決方法。就像編程中的“黑匣子”,不吃透它,它總會來煩你。下面是筆者精選出的一些 WEB 前端技術書籍,希望對做著相關工作或對此感興趣的小伙伴有所幫助。
目錄
一、《CSS 設計指南(第 3 版)》
二、《響應式 Web 設計 — HTML5 和 CSS3 實戰(zhàn)》
三、《CSS 禪意花園(修訂版)》
四、《jQuery 基礎教程(第4版)》
五、《JavaScript 權威指南(第6版)》
六、《JavaScript高級程序設計(第3版)》
七、《HTML5 秘籍》
一、《CSS 設計指南(第 3 版)》
作者:[英] Charles Wyke-Smith
譯者:李松峰
評分:8.8
《圖靈程序設計叢書:CSS設計指南(第3版)》是一本面向初中級讀者的經(jīng)典設計指南。全書共分8章,前4章分別介紹了HTML標記和文檔結構、CSS工作原理、定位元素、字體和文本,對規(guī)則、聲明、層疊、特指度、選擇符等基本概念進行了詳細解讀。隨后4章介紹了頁面布局、界面組件,CSS3圓角、陰影、漸變、多背景等視覺設計技巧,最后還對如何實現(xiàn)最前沿的響應式設計進行了通俗易懂的演示。
花三天讀了一遍,發(fā)現(xiàn)這是至今為止我看過的寫得最好的一本講 CSS 的書。這本書對新手來說,能循序漸進,漸入佳境;對老手來說,能系統(tǒng)梳理,打掃死角。會寫 CSS 不難,難的是寫聰明的 CSS。這本書從最基礎的知識點開始,直至擴展到響應式技術的應用,該說的都說透了,理論加實踐,非常棒,強烈推薦。
二、《響應式 Web 設計 — HTML5 和 CSS3 實戰(zhàn)》
作者:[英] Ben Frain
譯者:王永強
評分:7.3
本書堪稱學習響應式 Web 設計的難得佳作。它不僅全面、細致、圖文并茂地介紹了響應式設計相關的技術,比如媒體查詢、流式布局、彈性媒體和彈性字體等,還把近幾年來 Web 設計領域公認的最佳設計理念有機地融入到了實例當中,比如移動先行(Mobile First)、漸進增強、平穩(wěn)退化、無障礙設計等。更加難得的是,本書以設計跨屏幕的網(wǎng)頁(響應式設計)為出發(fā)點,以點帶面,把如今 Web 設計領域兩大標準的最新版本 HTML5 和 CSS3 也納入其中,讀者在掌握先進設計方法的同時也能掌握最新的設計技術(比如使用新的 HTML5 結構化語義標記、嵌入媒體、響應式視頻,以及 CSS3 的新選擇器、特效、過渡、變形和動畫等),從而可以免除重復學習新標準之苦,讓自己一步跨入 Web 設計領域的最前沿。無論你想學習響應式 Web 設計,還是學習 HTML5 和 CSS3 的實際應用,本書都能滿足你的需要,是毋庸置疑的明智之選。
說到底,響應式 Web 設計并非一門獨立的技術,而只是現(xiàn)有技術的一個組合應用。只要有一點 HTML 和 CSS 基礎的讀者都能順利地掌握它。對于中、高級的前端設計和開發(fā)人員,翻閱本書也有助于理清自己的知識脈絡,對這個新的設計理念獲得更全面、深入的理解和把握。
三、《CSS 禪意花園(修訂版)》
作者:[美] Dave Shea / Molly E. Holzschlag
譯者:陳黎夫 / 山崺颋
評分:7.8
這本書的作者是世界著名的網(wǎng)站設計師,書中的范例來自網(wǎng)站設計領域最著名的網(wǎng)站——CSS Zen Garden(CSS 禪意花園)。全書分為兩個主要部分。第 1 章為第一部分,討論網(wǎng)站“CSS 禪意花園”及其最基本的主題,包含正確的標記結構和靈活性規(guī)劃等。第二部分包括 6 章,占據(jù)了書中的大部分篇幅。每章剖析“CSS 禪意花園”收錄的 6 件設計作品,這些作品圍繞一個主要的設計概念展開,如文字的使用等。通過探索 36 件設計作品面臨的挑戰(zhàn)和解決的問題,讀者將洞悉主要的 Web 設計原則以及它們運用的 CSS 布局技巧,理解 CSS 設計的精髓,恰當?shù)靥幚韴D形和字體來創(chuàng)建界面優(yōu)美、性能優(yōu)良且具有強大生命力的網(wǎng)站。
嚴格意義上說,這不是一本教你怎樣使用 CSS 的書,更多傾向于 CSS 應用思想的剖析,換句話說就是怎樣更聰明的利用 CSS 對 Web 進行布局設計。如果上面那些是屬于 CSS 之“術”,那這本書應該屬于 CSS 之“道”,這也是書名中帶“禪意”的原由。
四、《jQuery 基礎教程(第4版)》
作者:[美] Jonathan Chaffer / Karl Swedberg
譯者:李松峰
評分:8.9
本書由 jQuery API 網(wǎng)站維護者親自撰寫,第一版自 2008 上市以來,一版再版,累計重印 14 次,是國內首屈一指的 jQuery 經(jīng)典著作!作為最新升級版,本書涵蓋 jQuery 1.10.x 和 jQuery 2.0.x。本書前 6 章以通俗易懂的方式講解了 jQuery 的核心組件,包括 jQuery 的選擇符、事件、動畫、DOM 操作、Ajax 支持等。第7章和第8章介紹了 jQuery UI、jQuery Mobile 及利用 jQuery 強大的擴展能力開發(fā)自定義插件。隨后的幾章更加深入地探討了jQuery 的各種特性及一些高級技術。附錄 A 特別講解了 JavaScript 中閉包的概念,以及如何在 jQuery 中有效地使用閉包。附錄B講解了使用 QUnit 測試 JavaScript 代碼的必備知識。附錄 C 給出了 jQuery API 的快速參考。
眼尖的小伙伴可能看出來了,這本書的譯者就是前面推薦的《CSS 設計指南(第 3 版)》的譯者,翻譯質量上成,這在技術類書籍里是十分難得的,如果你碰到那種翻譯的半生不熟的技術類書籍,那種痛苦真的是痛不如死,比如《眾妙之門》系列的翻譯。相信讀完這本書,你對 jQuery 的理解和應用都會再上一個臺階。
五、《JavaScript 權威指南(第6版)》
作者:David Flanagan
譯者:淘寶前端團隊
評分:8.9
本書是程序員學習核心 JavaScript 語言和由 Web 瀏覽器定義的 JavaScript API 的指南和綜合參考手冊。第 6 版涵蓋 HTML 5 和 ECMAScript 5。很多章節(jié)完全重寫,以便與時俱進,緊跟當今的最佳 Web 開發(fā)實踐。本書新增章節(jié)描述了 jQuery 和服務器端 JavaScript。本書適合那些希望學習 Web 編程語言的初、中級程序員和希望精通 JavaScript 的 JavaScript 程序員閱讀。
這是一本經(jīng)典的大部頭著作,放在床邊既可以隨手翻看,又可以困了當枕頭,開個玩笑。這本書的經(jīng)典就不用說了,雖然看起來望而生畏,但只要把它當做一本字典,就會減輕你你因為讀不完而產(chǎn)生內疚感的心理負擔。雖然有很好用的 jQuery 之類的 JS 庫,但理解 javascript 的運作原理以及相關應用方法還是很有必要的。
六、《JavaScript高級程序設計(第3版)》
作者:[美] Nicholas C. Zakas
譯者:李松峰 / 曹力
評分:9.3
本書是 JavaScript 超級暢銷書的最新版。ECMAScript5 和 HTML5 在標準之爭中雙雙勝出,使大量專有實現(xiàn)和客戶端擴展正式進入規(guī)范,同時也為 JavaScript 增添了很多適應未來發(fā)展的新特性。本書這一版除增加5 章全新內容外,其他章節(jié)也有較大幅度的增補和修訂,新內容篇幅約占三分之一。全書從 JavaScript 語言實現(xiàn)的各個組成部分——語言核心、DOM、BOM、事件模型講起,深入淺出地探討了面向對象編程、Ajax 與 Comet 服務器端通信,HTML5 表單、媒體、Canvas(包括 WebGL)及Web Workers、地理定位、跨文檔傳遞消息、客戶端存儲(包括 IndexedDB)等新 API,還介紹了離線應用和與維護、性能、部署相關的最佳開發(fā)實踐。本書附錄展望了未來的 API 和ECMAScript Harmony 規(guī)范。
七、《HTML5 秘籍》
作者:Matthew MacDonald
譯者:李松峰 / 朱巍
評分:8.4
《HTML5 秘籍》共包括四個部分,共12章。第一部分介紹了 HTML5 的發(fā)展歷程,利用 HTML5 重新構造網(wǎng)頁,以及 HTML5 的語義元素。第二部分介紹了 HTML5 對傳統(tǒng) Web 表單的翻新、HTML5 中的音頻與視頻、Canvas 繪圖技術、CSS3 等內容。第三部分介紹了數(shù)據(jù)存儲、離線應用、與 Web 服務器通信,以及 HTML5 與 JavaScript 技術的強大結合等內容。第四部分為附錄,簡單介紹了 CSS 和 JavaScript。
古人云:書讀百遍,其義自見。話雖不錯,但對于技術類書籍僅僅是“讀”是遠遠不夠的,更多是需要動手“做”,系統(tǒng)的理論知識加上一雙巧手才能把代碼化腐朽為神奇,創(chuàng)作出一個個精彩的 Web 作品。希望以上這些上乘之作能夠帶你進入奇妙的 Web 前端世界,用你的雙手給更多的人帶來更好的頁面瀏覽和交互體驗。與君共勉。
如果您也有好的 WEB 前端技術類電子書推薦,歡迎留言推薦。
大且廣受歡迎的編程語言 JavaScript 具有龐大的內置函數(shù)庫,可用于執(zhí)行各種任務。
本文涵蓋了每個開發(fā)人員都應該知道的 15 個 JavaScript 特性。無論您是新手還是經(jīng)驗豐富的開發(fā)人員,這些功能都會派上用場。那么,讓我們來討論一下這 15 個重要的 JavaScript 特性。
要在 JavaScript中多次重復一個字符串,您可以使用普通方法或速記方法。
您可以使用循環(huán)多次重復一個字符串。
以下是如何使用for循環(huán)執(zhí)行此操作的示例:
function repeatString ( string , num ) {
let result='' ;
for ( let i=0 ; i < num; i++) {
結果 +=字符串;
}
返回結果;
}
console.log ( repeatString ( '你好' , 5 ));
// 輸出:"HelloHelloHelloHelloHello"
在速記方法中,我們使用該repeat()方法多次重復一個字符串。
repeat()僅支持現(xiàn)代瀏覽器,因此您必須使用普通方法來支持舊瀏覽器。
console.log('你好'。重復(5));
// 輸出:"HelloHelloHelloHelloHello"
在 JavaScript 中,您可以使用普通方法和快捷方法來合并兩個或多個數(shù)組。
以下是如何使用for循環(huán)執(zhí)行此操作的示例:
讓array1=[ 10 , 20 , 30 ];
讓array2=[ 40 , 50 , 60 ];
讓mergedArray=[];
for ( let i=0 ; i < array1.length ; i++) {
mergedArray. 推(array1[i]);
}
for ( let i=0 ; i < array2.length ; i++) {
mergedArray. 推(array2[i]);
}
控制臺。日志(合并數(shù)組);
// 輸出:[10, 20, 30, 40, 50, 60]
對于速記,您可以使用concat()、...和reduce()方法。concat()and方法通過...將第二個數(shù)組的元素附加到第一個數(shù)組的末尾來組合兩個或多個數(shù)組的元素。
以下是如何使用contact(),...方法的示例:
// concat()
讓array1=[ 10 , 20 , 30 ];
讓array2=[ 40 , 50 , 60 ];
讓mergedArray=array1。連接(數(shù)組 2);
控制臺。日志(合并數(shù)組); // 輸出:[10, 20, 30, 40, 50, 60]
// ...
let array1=[ 10 , 20 , 30 ];
讓array2=[ 40 , 50 , 60 ];
讓mergedArray=[...array1, ...array2];
控制臺。日志(合并數(shù)組); // 輸出:[10, 20, 30, 40, 50, 60]
如果您想以不同的方式組合數(shù)組,可以使用reduce()方法。
// reduce()
let array1=[ 10 , 20 , 30 ];
讓array2=[ 40 , 50 , 60 ];
讓mergedArray=array1。reduce ( ( acc, val )=> acc.concat (val), array2);
控制臺。日志(合并數(shù)組); // 輸出:[40, 50, 60, 10, 20, 30]
您可以通過 3 種不同的方式找到函數(shù)接受的參數(shù)數(shù)量。
根據(jù)函數(shù)定義中命名參數(shù)的數(shù)量,函數(shù)的length屬性返回函數(shù)期望接收的參數(shù)數(shù)量。
function myFunction ( a, b, c ) {
// 函數(shù)體
}
console . 日志(myFunction.length ); // 輸出:3
傳遞給函數(shù)的參數(shù)存儲在一個名為 的對象中argument,它看起來像一個數(shù)組。使用length參數(shù)對象的屬性,您可以找出有多少參數(shù)傳遞給函數(shù)。
由于對象arguments不是真正的數(shù)組,因此并非所有數(shù)組方法都可以訪問。如果您希望在對象上使用數(shù)組方法,請使用該Array.from()函數(shù)將arguments對象轉換為實際數(shù)組。
函數(shù) myFunction(a, b, c) {myFunction (a, b, c) {
console .log (arguments.length); // 輸出:3
}
myFunction ( 1 , 2 , 3 );
您不能使用該arguments對象來計算函數(shù)期望從函數(shù)外部獲得多少參數(shù),因為它只能在函數(shù)內部訪問。length然后需要使用該屬性,就像在方法 1 中一樣。
JavaScript 提供了幾種類型的循環(huán)來重復重復代碼塊。
一些常用的循環(huán)示例是:
自增或自減表達式、循環(huán)條件和 for 循環(huán)的變量是它的三個主要部分。只要條件為真,循環(huán)就會一直運行。
從 1 計數(shù)到 5 的 for 循環(huán)示例:
for (讓i=1 ; i <=5 ; i++) {
console.log(一);
}
輸出:
1
2
3
4
5
您可以使用循環(huán)遍歷對象的屬性for-in。
在此示例中,我們使用循環(huán)遍歷對象的屬性for-in。
例子:
讓對象={a: 1, b: 2, c: 3}; 對象={a: 1 , b: 2 , c: 3 };
for (let property in object ) {
console.log( property + ": " + object [ property ]);
}
輸出:
一個:1
乙:2
丙:3
如果可迭代對象是數(shù)組或字符串,您可以使用for-of循環(huán)來迭代這些值。
for-of使用循環(huán)迭代元素數(shù)組:
讓數(shù)組=[ 1 , 2 , 3 ];
for ( let數(shù)組元素) {
console . 日志(元素);
}
輸出:
1
2
3
您可以使用該split方法在 JavaScript 中將字符串轉換為數(shù)組。此方法使用分隔符字符串或正則表達式將字符串拆分為子字符串。
以下示例顯示如何使用 方法將字符串轉換為數(shù)組split:
let string="apple,banana,orange"; string="蘋果、香蕉、橘子" ;
let array=string .split( "," );
安慰。日志(數(shù)組);// 打印 [ "apple" , "banana" , "orange" ]
使用速記方法,您可以獲得相同的結果:
let string="apple,banana,orange"; string="蘋果、香蕉、橘子" ;
let array=[... string .split( "," )];
安慰。日志(數(shù)組);// 打印 [ "apple" , "banana" , "orange" ]
您可以使用for loop. 使用此方法,您可以通過將每個字符推入其自己的數(shù)組來將字符串轉換為數(shù)組。
一個例子是:
let string="apple,banana,orange"; string="蘋果、香蕉、橘子" ;
讓數(shù)組=[];
for (let i=0 ; i < string .length; i++) {
array.push( string [i]);
}
控制臺。日志(數(shù)組);// 打印 [ "a" , "p" , "p" , "l" , "e" , "," , "b" , "a" , "n" , "a" , "n" , "a " , ", ", "n" , "g" , "e" ]
在此方法中,不是將字符串拆分為子字符串,而是字符串的每個字符都是數(shù)組中的一個單獨元素。split 方法允許您根據(jù)分隔符分隔字符串,如前兩個示例所示。
您可以使用下面的 JavaScript 示例查找數(shù)組中的最大數(shù)和最小數(shù)。
速寫:
// 找出數(shù)組中的最大數(shù)
const array=[ 3 , 7 , 1 , 9 , 2 , 5 ];
讓 maxNumber=array [ 0 ];
for (let i=1 ; i < array .length; i++) {
if ( array [i] > maxNumber) {
maxNumber=array [i]; }
}
}
控制臺。日志(最大數(shù)量); // 輸出:9
// 找到數(shù)組中的最小數(shù)
const array=[ 3 , 7 , 1 , 9 , 2 , 5 ];
讓 minNumber=array [ 0 ];
for (let i=1 ; i < array .length; i++) {
if ( array [i] < minNumber) {
minNumber=array [i]; }
}
}
控制臺。日志(最小數(shù)量); // 輸出:1
使用Math.max()and Math.min(),您可以輕松計算最大值或最小值:
// 找出數(shù)組中的最大數(shù)
const array=[ 3 , 7 , 1 , 9 , 2 , 5 ];
常數(shù)maxNumber=數(shù)學。最大值(...數(shù)組);
控制臺。日志(最大數(shù)量); // 輸出:9
// 找到數(shù)組中的最小數(shù)
const array=[ 3 , 7 , 1 , 9 , 2 , 5 ];
const minNumber=數(shù)學。分鐘(...數(shù)組);
控制臺。日志(最小數(shù)量); // 輸出:1
要在 JavaScript 中將字符串轉換為數(shù)字,有幾種方法。
使用parseInt()或parseFloat()功能:
// 將字符串轉換為整數(shù)
const num1="42" ;
const num2=parseInt (num1); // num2 現(xiàn)在是值為 42 的數(shù)字類型
// 將字符串轉換為浮點數(shù)
const num3="3.14" ;
const num4=parseFloat (num3); // num4 現(xiàn)在是數(shù)字類型,值為 3.14
使用一元加運算符(+):
// 將字符串轉換為數(shù)字
const num1="42" ;
常量num2=+num1; // num2 現(xiàn)在是值為 42 的數(shù)字類型
// 將字符串轉換為負數(shù)
const num3="-42" ;
常量num4=+num3; // num4 現(xiàn)在是數(shù)字類型,值為 -42
JavaScript 提供了普通函數(shù)和速記函數(shù)來為多個變量賦值:
使用單獨的賦值語句方法:
讓x;
讓你;
讓z;
x=1;
y=2;
z=3;
解構賦值簡寫法:
讓x, y, z;
[ x, y, z ]=[ 1 , 2 , 3 ];
解構賦值也可用于從對象分配變量:
const obj={ a : 1 , b : 2 , c : 3 };
設a、b、c;
({a, b, c}=對象);
在 JavaScript 中有幾種方法可以計算一個數(shù)的指數(shù)冪。這里有些例子:
function power ( base, exponent ) {
讓結果=1 ;
for ( let i=0 ; i < exponent; i++) {
結果 *=base;
}
返回結果;
}
控制臺。日志(功率( 2 , 3 )); // 輸出:8
使用Math.pow()功能:
函數(shù) 冪(基數(shù),指數(shù)){
返回 數(shù)學。pow(基數(shù),指數(shù));
}
控制臺。日志(功率( 2 , 3 )); // 輸出:8
此外,您還可以使用求冪運算符 ( **) 求出數(shù)字的指數(shù)冪:
常量 基礎=2 ;
常量指數(shù)=3 ;
常量結果=基數(shù)** 指數(shù); // 結果現(xiàn)在是 8
在 ( ~~) 運算符的幫助下,您可以將數(shù)字四舍五入為最接近的整數(shù)。
const num=3.14 ;
const roundedNum=~~num; // roundedNum 現(xiàn)在是 3
您可以使用 ( ~~) 運算符代替Math.floor().
const num=3.14 ;
const roundedNum=數(shù)學。樓層(數(shù)量); // roundedNum 現(xiàn)在是 3
您還可以使用 ( ~~) 將非整數(shù)值轉換為整數(shù)。
const num="3.14" ;
const intNum=~~num; // intNum 現(xiàn)在是 3
這類似于使用parseInt()函數(shù):
const num="3.14" ;
const intNum=parseInt (num); // intNum 現(xiàn)在是 3
在 JavaScript 中,您可以通過不同的方式為函數(shù)參數(shù)分配默認值。
函數(shù) 問候(名稱){
名稱=名稱|| '匿名' ;
控制臺。日志(`你好,${name}!`);
}
在上面的示例中,name參數(shù)的默認值為'Anonymous'。name如果調用函數(shù)時沒有為參數(shù)傳遞值greet,它將使用默認值。
功能 問候(名稱='匿名'){
控制臺。日志(`你好,${name}!`);
}
在此示例中,參數(shù)的默認值是使用語法name在函數(shù)定義中直接指定的。如果調用函數(shù)時沒有為參數(shù)=傳遞值,它將使用默認值。name``greet
它也被稱為條件運算符或三元條件運算符。
JavaScript 中三元運算符的語法是:
健康)狀況 ?value_if_true : value_if_false;
您可以使用 if-else 語句獲得與三元運算符相同的結果。
讓x=10 ;
讓y=20 ;
如果(x > y) {
最大值=x;
} else {
最大值=y;
}
控制臺。日志(最大值); // 輸出 20
在下面的示例中,我們將使用 JavaScript 三元運算符:
讓x=10 ;
讓y=20 ;
讓maxValue=(x > y) ? x:y;
控制臺。日志(最大值); // 輸出 20
在此示例中,條件x > y被評估為false,因此 的值y被分配給maxValue。如果條件為true,x則將分配給的值maxValue。
三元運算符有助于在單行代碼中表達條件邏輯,盡管它比 if-else 形式更難閱讀和理解。
當條件邏輯變得更加復雜時,使用三元運算符是個好主意。
在 JavaScript 中,要交換兩個變量的值,可以使用不同的方法。
這里有些例子:
讓x=1;
讓y=2;
讓溫度=x;
x=y;
y=溫度;
在上面的示例中,我們創(chuàng)建了一個臨時變量(temp)來存儲 x 的值,然后將 x 的值賦給 y 的值,將 y 的值賦給 temp。
讓x=1 ;
讓y=2 ;
[ x, y ]=[y, x];
在此示例中,使用解構賦值方法交換 x 和 y 的值。您可以使用解構賦值將變量分配給數(shù)組或對象的元素。無需臨時變量,它可以成為交換值的便捷方式。
如果使用任何一種方法,x 將為 2,y 將為 1。
有幾種不同的方法可以在 JavaScript 中檢查多個條件。
這里有幾個選項:
此運算符允許您檢查多個條件是否為真。
例如:
if (x > 0 && y < 10) {0 && y < 10 ) {
// 執(zhí)行一些代碼
}
如果兩個條件(x > 0 和 y < 10)都為真,這將只執(zhí)行 if 語句中的代碼。
此運算符允許您檢查多個條件中是否至少有一個為真。
例如:
if (x===1 || x===2 || x===3) {1 || x===2 || x===3 ) {
// 執(zhí)行一些代碼
}
如果 x 等于 1、2 或 3,這將執(zhí)行 if 語句中的代碼。
這允許您檢查多個條件并根據(jù)給定表達式的值執(zhí)行不同的代碼塊。例如:
switch (x) {
case 1 :
// 執(zhí)行一些代碼
break ;
case 2 :
// 執(zhí)行一些代碼
break ;
case 3 :
// 執(zhí)行一些代碼
break ;
default :
// 執(zhí)行一些代碼
}
這將執(zhí)行 case 塊內匹配 x 值的代碼。如果所有情況都不匹配,則將執(zhí)行 default 塊內的代碼。
請務必注意,&&and||運算符具有特定的優(yōu)先順序,因此您可能需要使用括號以您想要的方式對條件進行分組。
您可以使用 Array.prototype.include() 方法檢查 JavaScript 中的多個條件。
例子:
常數(shù)值=2 ;
if ([ 1 , 'one ', 2 , 'two '] .includes (value)) {
控制臺。log ( '該值為1、"one"、2或"two" ');
} else {
控制臺。log ( '該值不是1、"one"、2或"two" ');
}
// 輸出:值為 1、“one”、2、
該Array.prototype.include() the函數(shù)檢查值是否存在。如果存在該值,則 if 塊內的代碼將在上面的示例中運行。如果找不到該值,將執(zhí)行 else 塊中的代碼。
delete 運算符允許您從對象中刪除多個屬性。
以下面為例:
讓obj={
prop1 : 'value1' ,
prop2 : 'value2' ,
prop3 : 'value3' ,
prop4 : 'value4'
};
刪除對象。支柱1;
刪除對象。支柱 3 ;
控制臺。日志(對象); // 輸出 { prop2: 'value2', prop4: 'value4' }
或者,您可以使用該Object.assign()方法創(chuàng)建一個刪除了所需屬性的新對象。
例子:
讓obj={
prop1 : 'value1' ,
prop2 : 'value2' ,
prop3 : 'value3' ,
prop4 : 'value4'
};
讓newObj=對象。分配({},對象);
刪除新對象。支柱1;
刪除新對象。支柱 3 ;
控制臺。日志(新對象); // 輸出 { prop2: 'value2', prop4: 'value4' }
在現(xiàn)代 JavaScript(ES6 及更高版本)中,您可以使用Object.entries()和Object.fromEntries()方法從對象中刪除多個屬性。
例子:
讓obj={
prop1 : 'value1' ,
prop2 : 'value2' ,
prop3 : 'value3' ,
prop4 : 'value4'
};
讓newObj=對象。fromEntries (
Object . entries (obj). filter ( ( [key] )=> key !=='prop1' && key !=='prop3' )
);
控制臺。日志(新對象); // 輸出 { prop2: 'value2', prop4: 'value4' }
如果對你有幫助,記得點贊支持哦,目前我們的系統(tǒng)班正在講解JavaScript正則表達式,這個課程講完系統(tǒng)班的JavaScript階段就算完結了,正式開始進入ES6階段了,這幾個月我們在JavaScript課程中融入了大量的面試題、算法以及底層原理知識,目的就是為了幫助大家夯實基礎,查漏補缺,有 扎實的JavaScript基礎,對于學到后面階段更加有幫助!這也是2023年通向職業(yè)道路,面試求職必須要懂得的技術能力!感興趣可以聯(lián)系我參與!
為了更好的讓大家認識到JavaScript的精髓,我們在三十天計劃群里推出了幾節(jié)非常重要的JavaScript課程體系,而且每個系列知識點都保障是完整的。感興趣可以通過下方的練習方式參與課程哦 。如果你正在學習JavaScript,我們已經(jīng)在三十天計劃中完成了4個綜合項目實戰(zhàn),那不妨可以聽下這個課程體系,三十天計劃群里還提供了算法、數(shù)組等知識體系!
更多完整 JavaScript 課程體系在我們的系統(tǒng)班里有完整的呈現(xiàn),包含了 JavaScript 基礎篇、重點、算法、原理、面試題、實戰(zhàn)案例講解!同時也為你提供了前端高級工程師成長體系!(詳細看下圖內容)
如果需要深度學習的同學可以聯(lián)系助理老師了解詳細的課程以及課程的報名方式!(不定期會推出活動,有大額優(yōu)惠券推出,活動詳情聯(lián)系助理老師了解即可?。┤绻悴砰_始學習前端,那么可以先學習我們的三十天計劃(零基礎的同學報名系統(tǒng)班同學可以和老師溝通制定學習計劃,可以得到更快的成長?。?/span>
為幫助到一部分同學不走彎路,真正達到一線互聯(lián)網(wǎng)大廠前端項目研發(fā)要求,首次實力寵粉,打造了《30天挑戰(zhàn)學習計劃》,內容如下:
HTML/HTML5,CSS/CSS3,JavaScript,真實企業(yè)項目開發(fā),云服務器部署上線,從入門到精通
共4大完整的項目開發(fā) !一行一行代碼帶領實踐開發(fā),實際企業(yè)開發(fā)怎么做我們就是怎么做。從學習一開始就進入工作狀態(tài),省得浪費時間。
從學習一開始就同步使用 Git 進行項目代碼的版本的管理,Markdown 記錄學習筆記,包括真實大廠項目的開發(fā)標準和設計規(guī)范,命名規(guī)范,項目代碼規(guī)范,SEO優(yōu)化規(guī)范
從藍湖UI設計稿 到 PC端,移動端,多端響應式開發(fā)項目開發(fā)
這些內容在《30天挑戰(zhàn)學習計劃》中每一個細節(jié)都有講到,包含視頻+圖文教程+項目資料素材等。只為實力寵粉,真正一次掌握企業(yè)項目開發(fā)必備技能,不走彎路 !
過程中【不涉及】任何費用和利益,非誠勿擾 。
如果你沒有添加助理老師微信,可以添加下方微信,說明要參加30天挑戰(zhàn)學習計劃,來自!老師會邀請你進入學習,并給你發(fā)放相關資料。
30 天挑戰(zhàn)學習計劃 Web 前端從入門到實戰(zhàn) | arry老師的博客-艾編程
*請認真填寫需求信息,我們會在24小時內與您取得聯(lián)系。