什麼是 JavaScript? 功能、用例等
已發表: 2022-08-03一種主要用於 Web 的腳本語言稱為 JavaScript (JS)。 它經常集成到 HTML 代碼中,用於改進 HTML 頁面。 一種帶註釋的語言是 JavaScript。 因此,它不需要組裝。 JavaScript 以有趣和交互的方式生成網站內容。 到 2022 年,大多數網站將在用戶端使用 JavaScript 來控製網頁的行為方式,並經常使用第三方庫。 每個主要的網絡瀏覽器都有一個專門的 JavaScript 引擎。 它用於在用戶的小工具上執行軟件。
目錄
什麼是 JavaScript?
JavaScript 將是符合 ECMAScript 的高級指令,通常是即時指令序列。 它具有一流的操作、基於原型的物理能力和語法高亮。 它支持事件驅動、反應式和編程語言語言,是一種多範式。 它提供用於使用文檔對像模型、查詢語言、日期和通用數據結構 (DOM) 的應用程序軟件 (API)。
ECMAScript 規範中沒有輸入/輸出 (I/O) 功能,例如通信、存儲或視覺功能。 實際上,JavaScript I/O API 是由 Internet 瀏覽器或其他運行時系統提供的。 JavaScript 處理器最初只存在於 Internet 瀏覽器中,現在已成為某些網站和各種應用程序的重要組成部分。 Node.js 是該應用程序使用最廣泛的運行時平台。 儘管 Java 和 JavaScript 具有一致的名稱、語法和標準化庫,但不同的語言是獨一無二的,並且具有完全不同的設計。
在更深層次上定義 JavaScript
有時,用戶頁面不僅僅是坐在那裡顯示必要的細節供您瀏覽——及時呈現更好的內容、詳細的地圖、交互式 2D/3D 圖形、滾動多媒體音樂盒等——你可以確實打賭可能會涉及 JavaScript。 JavaScript 將是一個腳本或編碼平台,允許用戶在網頁上強制執行高級結構。 這將是由常見 Web 技術組成的第三層蛋糕,前兩個(HTML 和 CSS)。
我們可能會使用 HTML 或超文本腳本來格式化和註釋我們的在線材料。 例如,我們可以定義段落、標題、表格和圖表,以及在頁面上包含圖片和視頻。
使用 CSS(規則和指南的詞彙表),我們可以通過多種方式設置 HTML 文本的樣式,例如選擇基礎顏色和字體並將其組織成許多列。 高級編程語言允許您做幾乎所有事情,包括動態更新材料、管理多媒體和動畫圖形。 好吧,也許不是什麼,但是代碼生成器的幾句話可以做的事情令人驚訝。
客戶端 JavaScript
在客戶端,最流行的語法結構變體是 JavaScript。 為了讓瀏覽器識別腳本的代碼,它必須合併到 HTML 文檔中或從 HTML 文檔鏈接。
這意味著新網站不一定是靜態 HTML,但可能包含與用戶交流、管理瀏覽器和生成 Html 文檔的程序。
與典型的 CGI 服務器端程序相比,JavaScript 客戶端方法提供了幾個好處。 例如,JavaScript 可用於確定用戶是否在輸入字段中提供了新的電子郵件地址。
當客戶提交表單時,JavaScript 會運行,並且只有在所有條目都正確的情況下才會將它們發送到遠程服務器。 JavaScript 可用於攔截有意或隱式啟動的用戶活動,例如按鈕、超鏈接移動和其他事件。
Javascript 是做什麼用的?
1. 網頁開發
網頁是使用稱為 JavaScript 的客戶端編程語言製作的。 Netscape 將其創建為獨立編程。 當網站必須動態呈現時,它用於為頁面提供不同的功能,如旋轉、滾動和多種形式的視覺效果。 所有網站主要將其用於驗證目的。 它啟用了有關驗證的外部程序,例如 Word 文檔、運行的按鈕、對 Flash 應用程序的支持等。 當用戶請求它時,它也可以將材料加載到頁面中而不刷新它。
2. 網絡應用
由於個人計算機和桌面應用程序技術進步,現在需要一種語言來構建可靠的在線應用程序。 用戶只需單擊並拖動指針即可在 Google 地圖中導航地球。 只需單擊一下即可訪問所有其他視圖。 多虧了 JavaScript,這是可行的。 它與用戶互動,無需與計算機來回通信。 JavaScript 使用編程語言 (API) 為代碼提供額外的功能。
3. 演示文稿
JavaScript 還提供了將演示文稿創建為網站的能力。 為了創建基於 Web 的幻燈片演示,JavaScript 提供了 RevealJS 和定制包。 Reveal.js 使用 HTML 製作了許多最令人驚嘆和引人入勝的演示文稿。 嵌套幻燈片很容易為用戶放置。 有瞭如此多的在線幫助,任何人都可以在沒有編程經驗的情況下設計網站。 這些幻燈片經過觸控優化,在平板電腦、智能手機和其他便攜式設備上運行良好。
此外,JavaScript 提供了多種幻燈片背景、轉換樣式和样式。 支持所有 CSS 顏色格式。 此外,JavaScript 為 Bespoke.js 插件提供了大量的功能。 這些包括動態項目符號列表、響應式縮放和代碼示例的語法下劃線。 它提供了有品位和低調的主題。 使用生成器啟動 Bespoke.js 是最快的選擇。 用戶可以在他們的演示文稿中添加標題並回答一系列問題以獲得必要的插件。
4. 服務器應用
在服務器的幫助下,Node JS 使用分散在整個系統中的事件驅動、小型且有效的應用程序。 當用戶在 JavaScript 中創建複雜的客戶端應用程序時,可以僅在客戶端上用 JavaScript 編寫功能,以便可以在兩種語言之間進行心理翻譯。
5. 網絡服務器
可以使用 Node JS 構建 Web 服務器。 Node JS 具有事件驅動的優點,無需等待先前調用的結果。 當收到前一個呼叫的一條信息時,它會切換到後續呼叫,同時利用事件來獲取警報。 基於 Node JS 的服務器非常快,不需要緩衝,並且可以分塊傳輸數據。
此外,它利用單線程和非阻塞的事件循環。 HTTP 包的 createServer() 函數可用於協助創建服務器。 每次有人連續監視端口 8080 時,都會運行此過程。 作為回報,HTTP 服務器需要輸出 HTML 並將其添加到 HTTP 請求中。 輸入“npm install -g HTTP-server”可以快速安裝,運行“HTTP-server”可以啟動。
6. 遊戲
除了網頁,還可以使用 JavaScript 製作遊戲。 JavaScript 在遊戲開發中的流行是由於它與 HTML5 的集成。 它提供了 Ease JS 庫,它提供了與豐富圖像交互的簡單方法。 它還提供了一個 API,其中包含所有 Flash 開發人員都知道的結構化演示列表。 用戶創建的階段會將演示列表傳送到其預期的畫布。 此外,Ease JS 包含稱為 Sprite 的 2D 位圖,這些位圖會立即渲染以生成修改目標。
7. 藝術
現在使用 HTML5 和 JavaScript 在網站上生成圖像變得更加簡單。 在畫布上創建任何兩個或多個形狀的能力使瀏覽器成為各種數字藝術工作的全新平台。 既然畫布沒有邊界,也沒有實體,任何人都可以用它來創作藝術。
8. 智能手錶應用
Javascript 是使用最廣泛的語言,因為它可以在任何設備或應用程序中使用。 智能手錶應用程序使用一個名為 Pebble JS 的應用程序,該應用程序由 JavaScript Uses 提供。 對於需要 Internet 才能運行的應用程序,此框架非常有效。 開發人員可以使用 Pebbles 為各種手錶創建 JavaScript 應用程序。
9. 移動應用
創建沒有 Web 設置的應用程序是使用 JavaScript 可以完成的最重要的任務。 由於 Apple 和 Android 在移動市場上占主導地位,因此使用兩種不同的編程語言來創建這些設備。 編寫一次並在這兩個系統上使用它應該是可行的。
使這成為可能的框架是PhoneGap。 剛剛開發的 React Native 就提供了這個功能。 它是跨平台更新和推出的主要貢獻者。 因此,Javascript 可用於在各種上下文中獲取和部署適當的程序。
高級 Javascript:框架和庫(也稱為使 JS 更簡單的工具)
使用 JavaScript 時,您會發現一些 JS 特性和功能,例如菜單轉換和淡出、文件傳輸表單和圖片庫,經常出現在多個網站和在線應用程序中。 即使您可以在需要時從頭開始創建這些項目中的每一項,但使用像 jQuery 這樣的編碼框架將使您作為程序員的生活變得更加簡單。
jQuery
單行 jQuery 指令可以執行 jQuery 庫中包含的 JavaScript 編碼操作。 如果在其位置使用 jQuery 代碼,則之前的 JavaScript 代碼示例如下所示:
<script> $(“#submit”).click(function () { var greeting = $(“#name”).val(); $("#headline").html("Thank you for joining our email list," + greeting); return false; }); <script/>
如您所見,jQuery 編碼風格更加簡潔。 每當您希望編寫網站和在線應用程序並需要執行相同的 JavaScript 函數時,都可以使用它。
除了上述實例之外,jQuery 代碼還可以組合構建更複雜的插件,這些實例稱為 jQuery 代碼摘錄,是直接從 jQuery 框架注入以執行某些目的的代碼。 可以通過 jQuery 圖形(用戶界面)庫直接訪問 jQuery 插件,其中可以復制和粘貼原始數據。
反應JS
ReactJS 將是 Web 開發人員的另一個重要 Javascript 框架,包括 jQuery。 Facebook 在 2011 年創建了 React JS,作為一個專注於 UI 開發(用戶界面)的前端 JavaScript 工具包。 如果您不熟悉,用戶界面 (UI) 是各種屏幕面板、搜索欄、圖標以及用戶為使用第三方應用程序而使用的所有其他內容。
React 通過一個名為 Virtual DOM 的概念提高了網站的整體性能和可靠性,並使開發人員能夠利用預先編寫的代碼來重複菜單元素,包括旨在評估、個性化功能、淡入或淡出面板轉換等功能。
JavaScript 的特點
JavaScript 有幾個獨特的品質導致它被廣泛採用。 Javascript 是一種非常有用的學習語言,因為它現在經常在網站上使用。 Javascript 最好的一點是不需要事先的編程知識。
通用 JavaScript 功能
JavaScript 語言有一個函數列表。 以下是一些常見的 JavaScript 功能:
1. 驗證用戶輸入
在使用表單時,JavaScript 真的很有幫助。 它可以通過檢查輸入驗證是否有錯誤來加快流程。 在將信息傳輸到計算機之前,JavaScript 會檢查用戶是否未填寫必填字段或數據是否錯誤。
2. 客戶端輕鬆計算
JavaScript 可以在瀏覽器上進行簡單的數學運算,因為它是客戶端軟件。 對於每個作業,客戶端都不想請求服務器的注意。 當用戶想要重複執行這些計算時,這是非常有益的。 在許多情況下,建立數據庫連接所花費的時間比自己執行計算要長得多。
3. 更多權威
JavaScript 不再依賴於 Web 服務器,而是賦予了瀏覽器更多的自主權。 JavaScript 為許多瀏覽器提供了更多有助於減少網絡流量和服務器壓力的功能。
4. 平台未連接
由於瀏覽器解釋 JavaScript,它消除了互操作性和開發問題。 因此,它可以在支持 Netscape 的平台上使用,包括 Windows、Macintosh 等。 此外,它們可能包含在其他一些使用 JavaScript 的腳本中,例如 HTML。
5. 處理日期和時間
與其他腳本語言相比,JavaScript 帶有用於計算位置/地點的內置方法。 因此,簡單地使用這些技術進行編碼是非常簡單的。 獲取日期()。
6. 製作 HTML 內容
JavaScript 為以編程方式創建在線內容提供了幾個非常有用的功能。 活動結束後,我們可以添加內容、鏈接、照片、表格等。
7. 確定用戶的操作系統和瀏覽器
JavaScript 非常擅長識別人的操作系統和瀏覽器。 儘管 JavaScript 可以在所有平台上運行,但在某些情況下我們可能需要用戶的瀏覽器來處理。 這在開發在各種瀏覽器中生成各種輸出的代碼時可能很有用。
現代 JavaScript 功能
讓我們看一下 JavaScript 中最近添加的一些內容。 我們可以看到它與其他腳本語言的區別。 在一些基本特性之後,創建了 JavaScript 的幾個更現代的特性。 以下是其中的一些:
1. 讓/常量
JavaScript 添加了準備替換“var”的限定詞“let”和“const”。 它們與“var”的不同之處在於它們在一起。 我們可以在定義它們的塊中專門使用它們,使它們比“var”更重要,即使在初始化之後也可以在程序之外訪問。
2. 箭頭函數
使用這些方法可以大大減少網站性能的語法和程序代碼數量。 由於它們的簡單語法,它們可以很容易地在 JavaScript 中匿名使用。
3.文字模板
其他腳本語言經常提供一種功能,允許您將變量存儲到字符串中。 能夠更多地專注於程序的創建而不是花費大量時間在語法上,這使得它成為程序員的寶貴工具。
4. 新的數組函數
儘管它們不是任何計算機語言所必需的,但數組函數使開發人員的工作變得更容易。 此外,代碼因此變得更加簡潔和易於理解。 JavaScript 支持標準數組和任意數組。 非對稱數組的索引可以是字符串,但傳統數組的索引必須是正常量。
5. 默認設置
此 JavaScript 功能可防止整個代碼因一個拼寫錯誤而中斷。 當程序員必須驗證一個函數是否在沒有任何參數的情況下運行時,這很有幫助。
6. 屬性簡寫
內置技術的使用,如。 get() 對程序員開放。 這些技術減少了編寫的代碼行數並防止重複執行相同的代碼。 這些先天機制非常有助於減少開發時間和費用。
那麼它能做什麼呢?
客戶端 JavaScript 語言的基本編程結構允許您執行以下操作:
將有用的信息放入變量中。 還有更多!
但是,基於客戶端編程語言的功能更有趣。 為了在您的 JavaScript 代碼中使用,所謂的開源接口 (API) 為您提供了額外的超能力。
API 是編碼組件的預構建集合,使開發人員能夠創建可能具有挑戰性或不可能創建的應用程序。 在編碼方面,它們的功能類似於房屋建築中的現成家具套件。
1. 瀏覽器 API
您的 Web 瀏覽器具有內置 API,可以執行有用的複雜任務或顯示來自底層計算機系統的數據。
2.第三方API
大多數情況下,您必須從 Internet 獲取第三方 API 的代碼和元數據,因為它們默認不包含在瀏覽器中。
3. JavaScript 可以改變 HTML 內容
getElementById 是眾多 JavaScript HTML 方法之一 ()。
此示例通過使用該技術“定位”具有 id=“demo”屬性的 Html 代碼,將元素的 innerHTML 轉換為“Hello JavaScript”:
例子
document.getElementById("demo").innerHTML = "Hello JavaScript";
4. JavaScript 可以改變 HTML 屬性值
可以使用 JavaScript 修改 HTML 屬性值。 例如,JavaScript 修改圖像的 src(源)屬性的值。
5. JavaScript 可以改變 HTML 樣式(CSS)
修改 HTML 屬性的一種變體是修改 HTML 元素的外觀:
例子
document.getElementById("demo").style.font size = "35px";
或者
document.getElementById('demo').style.font size = '35px';
document.getElementById('demo').style.font size = '35px';
6. JavaScript 可以隱藏 HTML 元素
可以更改屏幕樣式以隱藏 HTML 元素:
例子
document.getElementById("demo").style.display = "none";
或者
document.getElementById('demo').style.display = 'none';
7. JavaScript 可以顯示 HTML 元素
更改顯示樣式是使隱藏的 HTML 組件可見的另一種方法:
例子
document.getElementById("demo").style.display = "block";
或者
document.getElementById('demo').style.display = 'block';
將您的應用創意變為現實
讓我們一起構建一個新的應用程序
JavaScript 數據類型
所有腳本語言都包含內置數據結構。 但是,它們經常因語言而異。 JavaScript 提供了內置的數據類型,本節列出了其特性的描述。 可以使用這些創建其他數據類型。 只要可行,就會與其他腳本建立關係。
1. 原始值
除對像外,所有類型都定義了不可變(即不可更改)的值。 例如,字符串是不可變的。 這種類型的值被稱為“原始值”。
2.布爾類型
布爾表達式描述邏輯實體並有兩種可能的結果:真和假。
3.空類型
另一種獨特的數據類型是只有空值作為可能值的數據類型。 空值表示沒有值。 它與空字符串(“”)或 0 不同; 沒什麼。 可以通過為變量賦予空值來顯式刪除當前內容。
4.未定義類型
唯一值 undefined 是未定義數據類型的唯一可能值。 如果變量已定義但未給定值,則該變量的含義是不確定的。
5.號碼類型
以對數表示法表示的整數,例如以下帶或不帶數值的正值或負值,均由整數數據類型表示,例如 1.5e-4
6. BigInt 類型
在 JavaScript 中,BigInt 類型將是一個基本數字,可以表示具有任何精度的數字。 即使在 Numbers 的安全整數限制之後,您也可以使用 BigInts 安全地存儲和處理大量數字。
7.字符串類型
文本數據可以用字符串數據類型(即字符序列)來表示。 字符串是通過將一個或多個字符括在單引號或雙引號中來構成的。
8.符號類型
Symbol 可以用作 Object 屬性的鍵,因為它是一個獨特且不可變的原始值(見下文)。 在某些計算機語言中,符號被稱為“原子”。
9. 對象(屬性的集合)
該對象將是一種複雜的數據類型,可以存儲數據集合。 對象具有屬性,這些屬性被描述為鍵值對。 雖然屬性的值可以是任何分類變量,包括字符串、整數、布爾值或複雜的數據類型(如數組、函數和其他對象),但變量鍵(標題)通常是字符串。 在接下來的章節中,您將獲得有關項目的更多信息。
工具和資源
1. 火狐開發者工具
Firefox 帶有一組稱為 Firefox 開發人員工具的 Web 開發人員工具。 它們可用於檢查、修改和調試 JavaScript、CSS 和 HTML。 通過從菜單中選擇工具 > Web 開發人員 > Web 開發人員工具,您可以訪問 Firefox 開發人員工具。
2. 網頁控制台
記錄與網頁相關的數據,包括附加請求、JavaScript、CSS、隱私問題、警告和信息消息,這些信息由在頁面上下文中運行的 JavaScript 代碼專門記錄。 允許您在網站頁面框架內對 JavaScript 語句進行操作以與其交互。
3. JavaScript 探查器
更好地理解代碼的一個重要工具是 JS 分析器,它可以定位、識別和優化代碼中的低效率。 因為您已經習慣了 UI,所以它們很容易使用,而且您很可能已經在瀏覽器中安裝了一個。
4.調試器
您可以繞過 JavaScript 代碼並使用 JavaScript 調試器研究或更改其狀態以幫助發現問題。 它可用於調試遠程執行的代碼,例如在運行 Firefox for Android 的 Android 設備上或在 Firefox 中遠程執行的代碼。 要了解如何將調試器鏈接到遠程目標,請轉到編程。
5. JavaScript 外殼
您可以使用 JavaScript shell 輕鬆測試 JavaScript 代碼片段,而無需刷新網站。 它們對於編寫和修復代碼非常有幫助。
6. 學習 JavaScript
學習當代 JavaScript (ES2015+) 的基礎知識,然後在自然環境中練習。 為確保您逐步學習行業標準,挑戰以實際項目為基礎。
7.TogetherJS
Mozilla TogetherJS JavaScript 庫免費為您的網站提供協作能力和功能。 通過將 TogetherJS 添加到您的網站上,您的用戶可以立即在您的網站上互相幫助!
8.堆棧溢出
程序員可以在 Stack Overflow 網站上提出問題並找到答案。 它是 Stack Exchange Network 的旗艦網站。 Joel Spolsky 和 Jeff Atwood 於 2008 年開發了它。它提供了對許多不同計算機編程相關主題的問題的回答。
9.JSFiddle
JSFiddle 是一個數字 IDE 服務和社區,用於分析和展示用戶製作和協作的 HTML、CSS 和 JavaScript 代碼示例,有時稱為“fiddles”。 您可以使用它來模擬 AJAX 調用。
10.JSBin
創建一個名為 JS Bin 的在線應用程序主要是為了幫助 JavaScript 和 CSS 開發人員在上下文中測試和調試代碼片段。 您可以使用 JS Bin 測試和編輯 HTML 和 JavaScript。
11. 代碼筆
對於前端設計專業人士,有一個名為 CodePen 的公共開發環境。 創建和發佈網站,展示您的成就,創建用於學習和調試的測試用例,並獲得啟發。
12. 堆棧閃電戰
借助在線 IDE(調試器)StackBlitz,您可以輕鬆且頻繁地在瀏覽器中構建 Angular、React 和 Vue 應用程序。 依賴安裝、編譯、打包、輸入時的熱更新等等都是自動處理的。
13. 運行JS
運行為您提供完整的 DOM 訪問權限以及對節點和瀏覽器 API 的訪問權限。 這為您提供了一定程度的適應性,這是常規 Chrome 或 REPL 控制台無法實現的。
14.微軟首頁
微軟創建了 FrontPage,一個廣受歡迎的 HTML 編輯器。 網頁設計師可以藉助 FrontPage 提供的 JavaScript 功能創建動態網站。
15. Macromedia Dreamweaver MX
Macromedia Dreamweaver MX 是 Web 開發專家中非常受歡迎的 HTML 和 JavaScript 工具。 它提供了幾個有用的預構建 JavaScript 組件,可以很好地與數據庫配合使用,並且符合 XHTML 和 XML 等新興標準。
16. Macromedia HomeSite 5
來自 Macromedia 的流行 HTML 和 JavaScript 開發人員稱為 HomeSite 5 可用於有效維護個人網頁。
如何將 JavaScript 添加到您的頁面?
與將 CSS 部署到 HTML 頁面的方式類似,JavaScript 也是如此。 CSS 使用 <link> 元素應用外部樣式表,使用 <style> 元素將內部樣式表應用到 HTML,而 JavaScript 在 HTML 世界中只需要一個朋友 - <script> 元素。 讓我們看看它是如何運作的。
內部 JavaScript
1. 首先從我們的示例中製作文件 apply-javascript.html 的本地副本。 請把它放在一個合理的位置和目錄中。
2. 在文本編輯器和 Web 瀏覽器中打開文件。 您將看到 HTML 生成了一個帶有可點擊按鈕的簡單網頁。
3. 接下來,打開你的文本編輯器,在你的閉包 </head> 標記之前插入以下內容:
<script> // JavaScript goes here </script>
4. 為了讓頁面做一個更有趣的動作,我們現在將在我們的 <script> 元素中包含一些 JavaScript。
5. 當您點擊鏈接時,當您保存文檔並刷新瀏覽器時,其下方應該會出現一個新段落。
外部 JavaScript
1. 這種方法很好,但是如果我們需要將 JavaScript 保存在一個單獨的文件中怎麼辦? 現在讓我們調查一下。
2. 首先,在與您的示例 HTML 文件相同的文件夾中創建一個新文件夾。 將其命名為 script.js,並確保文件名以 .js 結尾,以便可以識別 JavaScript。
3. 將您當前的 <script> 元素替換為以下內容:
<script src="script.js" defer></script>
4. 在 script.js 中,添加以下腳本:
function createParagraph() { const para = document.createElement('p'); para.textContent = 'You clicked the button!'; document.body.appendChild(para); } const buttons = document.querySelectorAll('button'); for (const button of buttons) { button.addEventListener('click', create paragraph); }
5. 如果您保存並重新啟動瀏覽器,您應該會看到相同的內容。 儘管我們現在將 JavaScript 保存在一個外部文件中,但它的功能仍然相似。 這在安排您的代碼並使其可在其他 HTML 文件中重用方面通常很好。 此外,沒有大量的腳本注入其中,HTML 更易於理解。
內聯 JavaScript 處理程序
請注意,有時您會發現實際的 JavaScript 代碼駐留在 HTML 中。 外觀可能類似於:
function createParagraph() { const para = document.createElement('p'); para.textContent = 'You clicked the button!'; document.body.appendChild(para); } <button>Click me!</button>
除了 <button> 元素的內聯 onclick 處理程序,它會導致函數在單擊按鈕時運行,此示例與前兩部分具有完全相同的功能。
改用 addEventListener
使用純 JavaScript 構造而不是將 JavaScript 合併到您的 HTML 中。 您可以使用 querySelectorAll() 方法選擇網站上的每個按鈕。 使用 addEventListener,您可以遍歷按鈕並給每個按鈕一個處理程序 ()。 所以這裡是代碼:
const buttons = document.querySelectorAll('button'); for (const button of buttons) { button.addEventListener('click', create paragraph); }
儘管它可能比 onclick 屬性寬一點,但它適用於所有按鈕,無論頁面上有多少,添加或刪除。 無需修改 JavaScript。
腳本加載策略
讓程序在適當的時候運行充滿了問題。 沒有什麼像看起來那麼容易! 頁面按其出現的順序加載其 HTML 的事實是一個常見問題。 如果在您嘗試修改的 HTML 之前獲取和處理 JavaScript,您的腳本將無法運行,以防您使用 JavaScript 更改頁面上的組件(或者更準確地說,是文檔對像模型)。
在前面提到的代碼中,甚至在為本地和全局實例處理 HTML 正文之前,JavaScript 就在文檔的頭部被導入和執行。 我們使用了某些結構來解決這個問題,因為它可能會導致錯誤。
Java 腳本在您的頁面上做什麼?
通過文檔對像模型 API,JavaScript 經常用於動態編輯 HTML 和 CSS 以刷新用戶體驗(如上所述)。 請記住,您的網頁代碼通常按其在頁面上出現的順序加載和運行。 如果在要更改的 HTML 和 CSS 之前導入和執行 JavaScript,則可能會發生錯誤。 在本文後面的部分腳本加載策略中,您將發現如何解決這個問題。
瀏覽器安全
從技術上講,每個 Web 選項卡都有自己的“執行環境”來運行代碼。 因此,每個選項卡的代碼通常獨立於其他選項卡執行。 它不能影響另一個標籤或不同網站的代碼。 這是一種智能的安全預防措施,因為如果不是這樣,黑客可能會開始構建代碼以從其他服務中竊取數據並做其他有害的事情。
JavaScript 運行順序
當遇到 JavaScript 塊時,瀏覽器通常會按順序從上到下執行它。 這意味著您安排事物的順序必須小心。 如果切換前兩種編程語言,它將停止運行; 相反,將在 Web 開發人員控制台中返回 TypeError: para is undeclared 錯誤。 結果,我們無法向 para 對象添加事件監視器,因為它還不存在。
解釋代碼與編譯代碼
關於編程可以使用“編譯”和“解釋”這兩個詞。 在編程語言中,代碼從上到下執行,並立即返回輸出。 代碼在被瀏覽器執行之前不需要更改。 代碼以易於程序員處理的文本格式發送。
另一方面,編譯語言在被計算機使用之前會被改變(編譯)。 例如,C/C++ 被轉換為計算機執行的機器代碼。 該軟件使用從應用程序源代碼生成的二進製文件。
服務器端與客戶端代碼
在 Web 開發的情況下,也可以使用服務器端代碼和客戶端代碼這兩個詞。 當訪問一個網頁時,該頁面的客戶端代碼被下載、運行並由瀏覽器顯示。 客戶端代碼包括在用戶計算機上運行的代碼。 我們在本節中專門討論客戶端 JavaScript。
另一方面,服務器端代碼在服務器上執行,然後檢索其結果並顯示在瀏覽器中。 流行的服務器端 Web 語言實例包括 JavaScript、PHP、Python、Ruby、ASP.NET 等。
Dynamic versus static code
The term “dynamic” refers to updating a web page or app to show various things in different conditions, creating new information as necessary. It is used to define both client-side JavaScript and server-side languages.
While client-side JavaScript dynamically creates new content within the browser on the client, such as creating a new HTML table, completing it with the information provided by the server, and then displaying the table on a website page shown to the user, server-side code dynamically produces new content on the server, such as pulling data from a database. Although the two settings have slightly distinct meanings, they are nevertheless connected, and both strategies (server-side and client-side) typically complement one another.
JavaScript Quickstart Tutorial
We'll quickly review the most significant JavaScript data types in this tutorial.
一個。 JavaScript 變量
Data values are stored in containers called variables in JavaScript.
The variables in this example are x, y, and z:
Example
- 變量 x = 5;
- var y = 6;
- 變量 z = x + y;
From the example above, you can expect:
- x 存儲值 5
- y 存儲值 6
- z 存儲值 11
灣。 JavaScript Numbers
There is just one kind of number in JavaScript. You can write numbers with or without decimals.
Example
- var x = 3.14; // A number with decimals
- var y = 3; // A number without decimals
Double precision floating point numbers are used to hold all numbers.
C。 JavaScript 字符串
Text is saved in strings. Strings are enclosed in quotation marks. Single or double quotations are acceptable:
Example
- var car name = “Volvo XC60”; // Double quotes
- var car name = 'Volvo XC60'; // Single quotes
The built-in property length contains the string's length:
Example
- var txt = “ABCDEFGHIJKLMNOPQRSTUVWXYZ”;
- var sln = txt.length;
d。 JavaScript 對象
You already know that variables in JavaScript serve as storage spaces for data values.
例子:
This program gives the vehicle variable a straightforward value (Fiat):
Objects are variables as well, as in var vehicle = “Fiat.” But different values can exist within an object.
e. JavaScript 數組
Multiple values can be kept in a single data point using JavaScript arrays.
Example
var cars = ["Saab", "Volvo", "BMW"];
F。 JavaScript 函數
A JavaScript function is a section of code created to carry out a certain purpose.
When “something” calls a JavaScript function, it is carried out (calls it).
Example
function myFunction(p1, p2) { return p1 * p2; // The function returns the product of p1 and p2 }
How Do You Add JavaScript Code to a Website?
JavaScript code may be added to an HTML web page both inside and externally.
Internal JavaScript employs the <script> tag in the HTML script's body to include all of the JavaScript code.
An illustration of internal JavaScript using the <script> tag:
<html> <head> <title>Inline JavaScript</title> <script type="text/javascript"> alert("Hello World"); </script> </head> <body> </body> </html>
You can also embed its script on HTML event attributes, prompting the browser to execute it when an event is triggered. This script type is called inline JavaScript:
<button>Click</button>
On the other hand, external JavaScript involves storing the code in a separate .js file and then recalling it within the HTML page. Developers often use this method when working on large projects, keeping the script organized.
Plus, it lets you reuse the script in multiple HTML pages, which is something that many developers value greatly. For example, adding the following script to an HTML page lets you recall an external JavaScript file named script.js:
<script src="script.js" defer></script>
下面是一個如何引用外部 JavaScript 文件的示例:
<html> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <title>Time right now:</title> </head> <body> <button type="button">Select</button> </body> <script src="js/script.js"></script> </html>
您可以使用文本編輯器創建和修改 JavaScript 代碼。
為什麼使用 JavaScript 而不是其他編程語言?
對於網頁設計師來說,使用 JavaScript 比使用所有其他腳本語言有幾個好處,除了無限的潛力:
- Web 瀏覽器的唯一本地編程語言是 JavaScript。
- 用戶最多的語言是 JavaScript。
- 首先進入門檻很低。
- 學習很愉快。
JavaScript 與其他編程語言有何不同?
由於它的適應性很強,JavaScript 已經成為使用最廣泛的語言之一,除非它們需要 JavaScript 不提供的特定功能,因此許多 JavaScript 專業開發人員是他們的首選。
以下是一些最廣泛使用的編程語言:
一個。 C#
C#是一種用於創建的面向對象的編程語言。 NET 兼容的應用程序。 因為它是靜態類型的,所以可以在編譯時識別其變量。 由於 JavaScript 缺乏 C# 中的運算符和轉換器堆棧,您可以更改數據類型。
灣。 爪哇
Java 是一個支持面向對象的編程語言的大型程序和應用程序。 與 JavaScript 不同,Java 是緊密類型的,後者需要將其變量綁定到某些數據類型。 為了運行它的腳本,Java 需要一個即時 (JIT) 編譯器。
C。 PHP
PHP 是 WordPress 和其他 Web 服務中經常使用的服務器端語言。 它的主要目標是與服務器、HTML 頁面一起傳輸數據,並跟踪會話。 與 JavaScript 不同,PHP 支持小寫和大寫標識符,並且可以輕鬆獲取數據庫。
d。 紅寶石
Ruby 是一個允許元編程的通用程序,它允許它研究和更改其代碼和其他程序。 Ruby on Rails 是其最著名的框架,它可以快速且經濟地創建複雜的基於 Web 的應用程序。 Ruby on Rails 架構對 JavaScript 的 Node.js 實現產生了影響。
今天的 JavaScript 在哪裡?
JavaScript 的最新版本 ECMAScript 2017 於當年 6 月發布。 一種動態的高級編程語言稱為 JavaScript。
JavaScript 它的實現使客戶端程序能夠與用戶交互並創建動態頁面。 它最常用作網站的組件。 具有面向對象特性的解釋性腳本語言稱為 JavaScript。
ECMA-262 規范建立了基本的 JavaScript 語言。
- 一個簡單的解釋型軟件程序是 JavaScript。
- 專為開發以網絡為中心的應用程序而設計。
- 與 Java 相關聯並與之互補。
- 與 HTML 相連接和互補。
- 開放且獨立於平台
什麼是原生 JavaScript?
當我們提到沒有任何額外庫的純 JavaScript(也稱為簡單 JavaScript)時,我們使用短語“vanilla script”。 “今天,各種事情也可以在不使用任何額外的 JavaScript 庫的情況下完成,”這是一個常見的笑話。
vanilla 腳本是有史以來最小的框架之一。 學習和使用都非常簡單易行。 vanilla 腳本可用於開發主要且有影響力的應用程序和網站。 提出第一個 JavaScript 版本的工程師一直在努力增強它並使其對 Web 開發人員更有利。
為什麼要學習 Vanilla JavaScript ?
我們開始為項目學習和使用 vanilla js 有幾個原因。 在這裡,我們將討論其中最重要的三個。
1.網絡性能
鑑於它是前端堆棧中最昂貴和最關鍵的組件,它在網站設計方面比其他幾個框架和模塊要好得多。 除了 HTML 和 CSS 文件,下載後可以立即使用,vanilla js 代碼必須構建和處理。 相比同等長度的Html/CSS文件,50kb的js文件對網站速度的影響要大得多。
2. 用戶體驗
它在開發時提供了簡單但用戶友好的體驗。 在使用 JavaScript 創建應用程序或網站時,開發人員只需打開文字處理器即可開始編碼。 開發人員不必經歷諸如 npm 安裝、組裝階段、無構建等繁瑣的過程。
3. 它也使使用框架更容易。
它還使與選擇繼續使用其他平台之一的任何開發人員打交道更加愉快。 我們也都知道開始使用框架是多麼困難。
該手冊對先驗知識做了很多假設,並且了解每種工具的工作原理使學習變得更加簡單。 許多缺乏經驗的新手試圖學習框架,這就是為什麼他們經常迷失方向並最終不再專注於 Vanilla js 的基礎概念。 一旦他們感到輕鬆,他們就會開始研究框架,而此時他們會更快地學習。
4. 服務器負載
由於每個人都知道 JavaScript 是在客戶端而不是服務器上執行的,因此總體上需要較少的服務器使用。 此外,簡單的程序根本不依賴於服務器。
5. 互操作性
與其他編程語言相比,JavaScript 可以包含在任何網頁中。 例如,PHP。
由於它與 PHP、Pearl 等其他語言的兼容性,我們可以將它用於各種應用程序。
6.豐富的接口
JavaScript 使我們能夠構建出色的功能,例如拖放功能和類似滑塊的元素。 這可能會對網站訪問者的體驗產生有利影響。
7.速度
它的速度非常出色,因為它在客戶端執行並且不需要外部資源。 對後端服務器的請求不會影響 JavaScript 的運行速度。
Java 和 JavaScript 的區別?
範圍 | 爪哇 | JavaScript |
由開發 | Sun Microsystems 的 James Gosling 創建了面向對象的 Java 語言。 | Netscape 創建了 Javascript,它最初被稱為 LiveScript。 |
在職的 | Java 是一種獨立的腳本語言,通過對其源代碼進行字節編碼,在 Java 虛擬機 (JVM) 上運行。 | JavaScript 是一種編程語言,必須包含在 HTML 文檔中,然後才能由 Chrome、Firefox 等 Web 服務器運行或執行。 |
語言類型 | 基於類的面向對象的編程語言稱為 Java。 | 基於示例的編程語言是 JavaScript。 |
對像類型 | Java 在創建類後生成對象,因為它是基於類的語言。 | 基於原型的 JavaScript 對像是從單個原型對象創建的。 |
變量聲明 | Java 支持靜態類型,這需要在編譯和執行之前聲明變量和類型。 | JavaScript 提供動態類型,允許程序員隨時定義類別和對象。 例如,在編譯類型時,您不需要聲明變量的類型(整數、浮點數等)。 即使在整個運行時,您也可以這樣做。 |
並發(同時處理不同指令的功能) | Java 使用多線程來促進和確保並發性,這使得應用程序更加有效和快速。 | JavaScript 不支持同時執行多個事件或併發。 |
編譯與解釋 | Java 既可以被編譯也可以被解釋。 它被翻譯成字節碼並在 JVM 上運行。 | JavaScript 僅在 Web 瀏覽器上直接解釋。 |
源代碼可見性 | Java 使用字節編碼來隱藏源代碼,使未經授權的或其他方無法讀取它。 | Javascript,一種腳本語言,在瀏覽器上執行代碼,每個人都可以使用純文本。 |
要求 | 您需要整個 Java 開發工具包來創建和執行 Java 程序 (JDK)。 | 為 JavaScript 編寫代碼只需要一個文本編輯器。 |
句法 | 在 Java 中,必須定義數據類型。 | JavaScript 不需要數據類型的聲明。 |
安全 | Java 的主要目標是保護源代碼。 它具有強大的功能來支持它。 | JavaScript 的編程語言從根本上來說並不安全,因為它以純文本形式對每個人都是可見的。 程序員必須結合新功能以實現嚴格的安全性。 |
文件擴展名 | Java 支持“. Java”文件擴展名。 | 這 ”。 JavaScript”文件系統與 JavaScript 兼容。 |
適應性 | Java 可用於創建各種應用程序類型,包括基於 Web 的應用程序、移動服務、基於雲的應用程序和大數據技術。 IoT 的應用程序 | 然而,隨著最近的修訂和 Node 的添加,JavaScript 現在主要用於前端開發。 遊戲編程、在線和移動應用程序開發以及 Web 和服務器應用程序開發都是 JavaScript 的可能用途。 |
主要特徵 | 大型圖書館; 簡單易學; 受歡迎的 | 輕量級且非常適合前端開發的強大框架 |
公司使用 | 谷歌、Netflix、Airbnb 等。 | 微軟、優步、貝寶等。 |
Java 編譯器
在可執行代碼期間(運行時)創建目標程序之前,編譯器必須首先在一個或多個連續的步驟(有時稱為“通過”)中按上下文逐步解析(或分析)語法語句的每個單詞. 編譯器保證引用其他代碼行的語句按順序排序。
編譯器產生的輸出通常稱為目標代碼或目標組件。 這裡使用的術語“對象”不涉及面向對象的編程。 術語“目標代碼”是指處理器一次執行一個程序的一種彙編語言。
JavaScript 運算符
JavaScript 中的運算符是用於對算術運算(值和變量)執行操作的唯一符號。 在這種情況下,2 + 3; / 5. 這裡操作符+進行加法,操作數為2和3。
JavaScript 運算符類型
一個。 賦值運算符
根據其右操作數的成本,賦值運算符對其左操作數有正貢獻。 等於 (=) 是一個簡單的賦值運算符,將其右操作數的值傳輸到其左操作數。
灣。 算術運算符
一種適用於組和整數的數學運算符。 在 AHDL 中,前綴和二進制加 (+) 和減 (-) 符號是布爾語句中接受的數學公式。
C。 比較運算符
比較運算符可以評估和比較字符串或數字。 與算術表達式相比,比較運算符表達式不返回數值結果。 比較表達式提供以下兩種結果之一:1(表示真)或 0(表示假)。
d。 邏輯運算符
邏輯運算符是連接兩個或多個語句的符號或單詞,其結果復合表達式的有效性僅取決於原始變量的值和運算符的解釋。 經常使用 AND、OR 和 NOT 邏輯運算符。
e. 位運算符
在對需要修改單個位的數據位或算術運算執行任務時,使用按位運算符。 在與數據相關聯的標頭中的特定位表示關鍵信息的連接堆棧中,使用了按位操作。
F。 字符串運算符
我們可以對程序中具有字符串類型的變量進行的幾種操作由字符串運算符表示。
G。 其他運營商
其他運算符用於對操作數執行某些數學和邏輯運算。 換句話說,操作數由運算符操作。 在 JavaScript 中,運算符用於執行數學運算、比較數據和執行其他任務。
相關技術
1.Java
JavaScript 和 Java 可以互換是一種流行的誤解。 兩者確實具有類似於 C 的語法。此外,當在瀏覽器中使用時,它們經常被沙盒化,因為 JavaScript 是在考慮 Java 語言和基本庫的情況下創建的。 特別是,最初的 JavaScript 保留了所有 Java 關鍵字,在其標準庫中遵循 Java 的標識符,並從 Java 1.0 類中派生出其 Math 和 Date 元素。
2.JSON
JSON 或 JavaScript 對象表示法是一種開放系統文件格式和數據交換格式,它採用人類可以閱讀的語言來存儲和發送由屬性值對和組(或其他可序列化值)組成的數據對象。 它是一種廣泛用於電子數據交換的數據格式,特別是在服務器和在線應用程序之間。
3.WebAssembly
除了為可運行的程序定義緊湊的二進制代碼格式和相關的文本格式外,WebAssembly(通常縮寫為 Wasm)還指定了用於簡化此類應用程序與其係統集成商之間交互的軟件協議。
WebAssembly 的主要目標是使高性能程序能夠在網頁上運行。 儘管如此,因為它不做出任何特定於 web 的斷言或提供特定於 web 的功能,它也可以在其他設置中使用。 實際上,它最流行的編程語言之一也至少有一定程度的幫助,因為它是一個開放平台,渴望在任何計算機系統上提供任何腳本。
4. 轉譯器
源到源轉換器,也稱為 S2S 編譯器、轉編譯器或轉譯器,將程序的源代碼轉換為另一種編程語言的等效源代碼。
哪些公司使用 JavaScript?
1.微軟
要創建 Edge 網絡瀏覽器,微軟必須與 JavaScript 密切合作。 由於快速處理和執行 JavaScript 是所有瀏覽器的要求,Microsoft 已經為 Edge 創建並運行其 JavaScript 處理器。 事實上,已經討論過使用 Edge 引擎生成不同的 NodeJS 版本。
2. 貝寶
在其網頁前端,PayPal 無疑已經使用 JavaScript 很長時間了,但這只是一個開始。 NodeJS 的首批用戶之一是在線支付的行業領導者。
3. 網飛
與 PayPal 類似,Netflix 最初幾乎所有事情都是用 Java 完成的。 由於 Java 的規模和開發時間長,他們也遇到了問題。
隨著 NodeJS 的推出,Netflix 逐漸從其更傳統的組織結構轉向雲。
4.優步
優步必須在短時間內管理大量信息。 他們每天收到數百萬個請求,而這些請求不僅僅是頁面瀏覽量。 優步必須監控其司機、乘客和即將到來的行程請求的下落。 它必須有效地篩選此類數據并快速匹配騎手。
所有這些都增強了 JavaScript 和 NodeJS 的優勢。 Node 用於快速處理請求和傳輸數據。
5. 臉書
您肯定知道,Facebook 使用 JavaScript。 有點難以錯過。 有多少 JavaScript 用於創建 Facebook,以及 Facebook 有多少參與 JavaScript 開發,似乎並不那麼明顯。
6.谷歌
Google 創建並經常提供它使用的 JavaScript 工具。 最突出的例子是 AngularJS。 Angular 已經成為最受歡迎的前端框架之一,並且最常用於 Google 的 DoubleClick 廣告平台。
JavaScript 的替代品
1.飛鏢
Dart 是為提高生產力而構建的,它比 JavaScript 更容易完成任務。 儘管 Google 一直在開發它,但它提供的功能仍然比 JavaScript 少。
2.打字稿
微軟創建了 TypeScript 來改進 JavaScript 的功能。 大多數用戶認為 TypeScript 代碼健壯且不易出錯,他們還認為它可能相當笨拙和困難。
3. 咖啡腳本
為了更容易閱讀、更短和更簡單的代碼,CoffeeScript 語言被轉譯成 JS。 但是,如果您使用 CoffeeScript,您仍然必須是 JavaScript 專家。
4.榆樹
Elm 是一門比較年輕的實用語言,提供了高端的前端 Web 開發環境。 它通常用於創建可視化用戶界面。 這種語言複雜的類型系統保證生產程序永遠不會包含運行時錯誤。
5. 蟒蛇
最受歡迎的後端開發 JavaScript 替代品之一包括 Python。 Python 語言的語法相當簡單,初學者可以理解。
6.科特林
另一種具有更高可讀性和更少創作要求的後端腳本語言是 Kotlin。 因為是商業而不是學術界創造了它,所以 Kotlin 更多地關注開發人員遇到的現實問題。
7. 紅寶石
Ruby 是一種強大的、動態類型的、面向對象的腳本語言,其語法非常簡單,與英語語言極為相似。 儘管比 Python 稍慢,但它仍然是使用最廣泛的替代方案之一。
8.PHP
PHP以其適應性強和完善的特點,被譽為未來的後端編程語言。 由於這種語言的描述性非常強,你有一些創造性的靈活性。
9. 響應原生
React Native 是一種開源流程模型,用於創建原生跨平台應用程序。 它利用 React 和 JavaScript 編程語言來創建與用 Java 或 Objective-C 創建的本機應用程序幾乎相同的移動應用程序。
10. 原生腳本
另一個使用 JavaScript 或 TypeScript 創建本機跨平台應用程序非常有用的框架是 NativeScript。 通過使用 Angular 或 Vue.js 等代碼共享工具,單個代碼庫可以分佈在多個平台上,包括 Android 和 iOS。
11. 離子
另一個廣受歡迎的用於創建混合應用程序的 JavaScript 框架是 Ionic。 將核心軟件附加到設備後,開發人員可以使用 Cordova 插件,允許人們從此類移動設備訪問設備和軟件。
除了已經討論過的前端和後端未來機會之外,您可能還希望查看相關的 Web 應用程序替代方案。
12. ClojureScript
一個可靠的 JavaScript 替代品叫做 ClojureScript,可以很容易地將 Clojure 編程語言翻譯成 JavaScript。 在 Java 虛擬機上運行,Clojure 將是一個可以訪問所有當前 Java 庫的 Lisp。
13. 通天塔
ECMA 腳本的 ES5 版本與 JavaScript 兼容,但 ES6 提供了一些 JavaScript 當前不支持的有趣功能。 您的 ES6 JavaScript 代碼將使用編譯器 Babel 轉換為符合 ES5 的 JS 代碼。
包起來
當然,JavaScript 在現代世界有很多競爭對手。 從 Node.js 切換到任何其他廣泛使用的編程語言非常簡單,包括 Python、C、C++、Kotlin、Ruby、Smalltalk 等,尤其是對於例程腳本或應用程序。
不過,JavaScript 可能是您進行前端開發的唯一選擇。 您仍然可以使用轉譯器將您的代碼庫轉換為瀏覽器可接受的 JavaScript。 您在 Web 開發公司的職業生涯中使用過 JavaScript,您現在可能正在尋找最好的 JavaScript 解決方案。 自 1995 年推出以來,JavaScript 已成為全球開發人員中流行的語言。 截至 2020 年初,約有 68% 的投票參與者認為它仍然是最受歡迎的腳本語言。
您可能還想閱讀
- React Typescript、React JavaScript 和 React Native 之間的區別
- 頂級 Web 開發框架(前端和後端)
- 最佳跨平台應用程序開發框架
- 什麼是全棧開發? 簡介