<menu id="ycqsw"></menu><nav id="ycqsw"><code id="ycqsw"></code></nav>
<dd id="ycqsw"><menu id="ycqsw"></menu></dd>
  • <nav id="ycqsw"></nav>
    <menu id="ycqsw"><strong id="ycqsw"></strong></menu>
    <xmp id="ycqsw"><nav id="ycqsw"></nav>
  • js教學源碼(手機autojs菜鳥教程)


    在如今種類眾多的編程語言中,JavaScript是一個非常特殊的存在。如果從語言設計的角度來分析,JavaScript應該被歸類為基于原型的、解釋型的高級編程語言。也就是說,盡管JavaScript在語法上與Java、C/C++非常相似,但從編程方法的應用上來說,它受Self和Scheme這類語言的影響多一些,因此在具體使用方式上更接近后者。除此之外,JavaScript還是一門支持多種編程范式的語言。它支持面向對象編程、指令式編程以及函數式編程,因而具有極為靈活的表達能力。

    而在適用領域方面,JavaScript從最初的純瀏覽器端腳本語言,逐步發展成了如今這樣一門可在Web瀏覽器端、移動設備端、桌面應用端以及服務器端通用的強大編程語言。

    JavaScript的適用領域

    如前所述,如果想判斷一門編程語言是否適用于某個領域,很大程度上要去分析該領域是否能發揮出該語言的特性優勢。既然我們已經對JavaScript的語言特性有了一定的了解,那么接下來就可以對這門語言的適用領域做一些分析了。這些分析將有助于初學者明確JavaScript適合用來解決什么問題,不適合用來解決什么問題,以便厘清自己的學習需求和努力方向。以下是一些適合用JavaScript來解決問題的領域。

    • Web瀏覽器端的應用。JavaScript在Web瀏覽器端的優勢是最顯而易見且無可爭議的,畢竟這門語言最初就是為解決這一領域的問題而設計的。正是由于JavaScript賦予了Web頁面在瀏覽器端強大的用戶交互能力,我們才迎來了電子商務、云端辦公、社交網絡等各種Web應用蓬勃發展的Web 2.0時代。
    • 輕量級的服務器應用。Node.js運行環境的出現讓JavaScript的適用領域擴展到了Web瀏覽器之外,尤其是在服務器端的應用。與ASP、PHP這些傳統的服務器端腳本語言相比,JavaScript支持事件驅動、異步編程的特性使它在實現輕量級數據密集型的服務器應用方面有一些高性能、高負載的優勢。當然在另一方面,單線程執行和非阻塞I/O的特性也讓JavaScript在資源利用率和安全性方面受到了一些限制,使其不適合被用來實現需要大規模并行計算,或對數據安全有高要求的應用。
    • 輕量級的桌面應用。Electron框架的出現讓JavaScript可以被用來實現一些適用于事件驅動、異步編程、非阻塞型I/O等特性的輕量級桌面應用。目前流行的VSCode、Atom等代碼編輯器都是基于這一框架的JavaScript應用。但由于其單線程執行的特性使JavaScript無法充分利用多核處理器的計算資源,因而不適合用來實現需要大規模并行計算的桌面應用。
    • 富媒體式的應用。在HTML5出現之前,市面上用于創作富媒體的應用程序(如Flash)大多數采用的是ActionScript腳本。由于它也是一種基于ECMAScript標準的腳本語言,所以也可視它為JavaScript的一種應用。當然,目前這種形式的應用正在逐漸被人們遺忘,畢竟HTML5為我們提供了更好的選擇。

    除此之外,JavaScript有時候還會被用來實現一些Web瀏覽器的擴展與插件、移動端的一些應用,甚至一些用于系統管理的命令行腳本??偠灾m然目前JavaScript已經發展成了一門無處不在的全能型編程語言,但還是得注意語言特性的發揮,能發揮出其特性優勢的領域才是它真正適用的領域。反之,不分場合地強行使用這門語言只會弄巧成拙、事倍功半。

    選哪一本書做教程?

    JavaScript全棧開發

    一本涵蓋Web前后端全棧開發的JavaScript入門教程

    這是一本專注于JavaScript本身及其運行環境的書,而JavaScript語言主要是一門面向Web應用程序開發領域的編程語言,即使是用于開發桌面應用程序的Electron框架,它在本質上也可以被視為一個針對Google Chromium瀏覽器(Chrome瀏覽器的開源版本)的擴展,它的用戶界面布局也主要依靠HTML、CSS及其擴展技術來完成。所以在閱讀本書之前,希望讀者已經掌握了與HTML和CSS相關的基礎知識。

    由于本書只專注于討論如何使用JavaScript語言與其運行環境提供的接口,因此不打算過多地涉及時下五花八門的開發框架。這樣做主要是基于兩個方面的考慮。第一,介紹JavaScript語言及其運行環境本身就足以撐起一本結構完整、內容豐富的書了。如果再加上眾多開發框架的介紹,就會淡化這本書的主題,并使其臃腫不堪。第二,JavaScript社區的開發框架不僅五花八門,選擇眾多,而且更新換代極為迅速。這意味著,即使這本書介紹了客戶端的React框架、服務端的Express框架、桌面端的Electron框架,也很有可能到這本書寫完并最終出版之時,開發者已經有了更好的選擇。正所謂“授之以魚不如授之以漁”,讀者真正應該掌握的是快速學習新框架的能力,這就需要讀者了解這些框架的設計思路,理解為什么決定開放那些接口給用戶,以及為什么要對用戶隱藏那些實現,從而習得開發框架的能力。換句話說,雖然不必重復發明輪子,但一個優秀的工程師或設計師應該了解輪子是如何被發明的,這樣才能清楚用什么樣的輪子構建什么樣的車。

    另外,要想學好一門語言,無論是英語、漢語這樣的自然語言還是C/C++、Java、JavaScript這樣的編程語言,最好的辦法就是盡可能地在實踐中使用它,在實際需求的驅動下模仿、試錯并總結經驗。所以本書不鼓勵讀者使用可直接復制和粘貼的代碼示例,我更希望讀者“自己動手”去模仿本書提供的示例,親手將自己想要執行的代碼輸入計算機中,并觀察它們是如何工作的,然后試著修改它們,并驗證其結果是否符合預期。如果符合預期;就總結當下的經驗;如果不符合預期,則去思考應該做哪些調整使其符合預期。如此周而復始,才能讓學習事半功倍。

    《JavaScript全棧開發》簡介

    簡而言之,本書是一本涵蓋Web前后端全棧開發的JavaScript入門教程,從基于ECMAScript標準的基本語法開始,循序漸進、層層深入地介紹JavaScript在瀏覽器端、服務器端的開發思路、設計理念。在此過程中,本書提供大量可讀性強、能夠正確運行的代碼示例,以幫助讀者理解書中介紹的技術、概念、編程思想與程序設計理念。

    除了前言部分,本書的主體由三部分組成。第一部分討論的是JavaScript語言的核心,這里用4章的篇幅介紹JavaScript語言由ECMAScript標準所規范的基本語法、面向對象機制、異步編程方法等直接與語言本身相關的內容。第二部分討論的是前端開發,這里用5章的篇幅來介紹JavaScript在瀏覽器端的使用,包括DOM和BOM組件、AJAX技術等。第三部分討論的是后端開發,這里用4章的篇幅來介紹JavaScript在Node.js平臺中的使用,包括如何創建Web服務器并響應瀏覽器的請求,如何讀取服務器上的文件或在服務器上執行數據庫操作等。下面是本書各章的內容簡介。

    第1章,JavaScript簡介。這一章會讓讀者對JavaScript這門編程語言有一個整體的認知。首先詳細介紹JavaScript的起源以及它的標準化過程,幫助讀者了解它的組成和特性,以及能發揮其特性優勢的領域。然后介紹如何搭建可用于執行/調試JavaScript腳本的運行環境。

    第2章,變量、表達式與語句。這一章介紹注釋、變量、表達式以及語句等JavaScript的基本語法元素及其用法。首先對如何在JavaScript代碼中進行注釋做一些相關的介紹和建議。然后介紹變量的定義、命名規范、數據類型、存儲類型等基礎知識,以及用于操作變量的操作符。最后講解如何編寫程序的最基本執行單位——語句,其中包括用于選擇執行的條件語句和用于重復執行的循環語句。

    第3章,函數與對象。這一章介紹封裝的概念及其在編程中的意義。首先介紹如何將歸屬于不同任務的操作分離出來,封裝成獨立的函數并調用它。然后介紹如何將函數與其相關的數據進一步封裝成對象。最后由對象的定義進一步引出數據結構的概念,幫助讀者理解數據結構在編程中的作用。除此之外,本著“不要重復發明輪子”的基本編程原則,本章還將詳細介紹一系列JavaScript中常用的內置函數和對象。

    第4章,面向對象編程。這一章介紹如何在JavaScript中實現面向對象編程。首先從程序設計的需求面切入,解釋什么是面向對象編程,以及將調用接口與具體實現分開設計的意義。然后詳細介紹如何在構建對象的過程中將實現細節隱藏起來,并開放公有接口。接著進入面向對象編程的核心內容:類與類之間的繼承關系。在針對該內容的討論中,先詳細介紹ES6新增的類定義與類繼承語法,隨即將時間拉回到ES6標準發布之前,為讀者說明在沒有類定義與繼承語法的情況下,如何在JavaScript中實現面向對象編程。最后再回過頭來證明ES6新增的語法并沒有改變這一繼承機制,它只是一個在使用上提供方便的“語法糖”。

    第5章,異步編程。這一章介紹異步編程的概念及其用法與執行機制,其主要內容包括事件處理與Promise對象。本章會詳細說明異步編程在JavaScript編程中的特殊地位,它是使用該語言編程最核心的技能之一。換句話說,只有掌握了異步編程,JavaScript在我們手中才能展現出其真正強大的能力。

    第6章,前端編程概述。這一章介紹服務器和瀏覽器在Web應用程序架構中的分工,以便幫助讀者明確前端編程的任務。作為本書第二部分的開篇,本章會介紹前端編程中具體要使用的對象,其中包含用于處理HTML和XML文檔頁面元素的DOM、用于處理瀏覽器部分功能的BOM、用于支持AJAX編程的XMLHTTP系列對象,以及用于裝飾Web頁面的CSS等美工技術。

    第7章,DOM標準與使用。這一章介紹如何在前端處理XML與HTML文檔的DOM對象。首先介紹DOM出現的歷史背景以及標準化過程。然后詳細介紹DOM的使用方式及其背后的編程思維。簡而言之,DOM的本質是將瀏覽器所讀取到的XML或HTML文檔映射到內存中的一個樹形的數據結構中,以便開發者通過對該樹結構的節點進行增、刪、改、查等操作的方式來實現Web應用程序用戶界面的動態化。

    第8章,DOM擴展與BOM。這一章介紹一系列具有專門用途的DOM擴展接口。通過使用這些接口,我們可以大幅度地降低開發、維護程序的成本,并提高程序的運行效率。本章還會介紹可用于在JavaScript腳本中執行瀏覽器相關操作的BOM接口。通過這些接口,我們可以在JavaScript腳本中完成頁面的定位與導航、識別用戶使用的瀏覽器、判斷用戶設備屏幕的大小、彈出系統對話框等任務。

    第9章,前端事件處理。這一章詳細介紹可用于響應用戶界面操作的前端事件處理機制。首先對事件處理中所涉及的一些概念進行梳理,幫助讀者了解何謂事件、如何觸發事件、事件流是什么、如何響應事件等基礎知識。然后從用戶界面事件、鼠標操作事件、鍵盤操作事件以及焦點得失事件等幾大類事件來介紹在Web應用程序的前端究竟可以處理哪些事件。除此之外,本章還會介紹事件在DOM事件流中的傳播路徑,它又分為事件捕獲、處于目標與事件冒泡三個階段,選擇在哪一個階段響應事件將在很大程度上決定事件處理函數的設計。

    第10章,AJAX編程方法。這一章詳細介紹AJAX編程方法。AJAX是一種讓瀏覽器與服務器單獨進行異步數據通信的方法,目的是讓瀏覽器在不刷新當前頁面的情況下與服務器進行數據交換,并根據交換的結果局部更新頁面中的內容。首先介紹XMLHttpRequest對象提供的常用接口,以及用該對象進行異步數據通信的基本操作。然后介紹如何將XMLHttpRequest對象執行異步數據通信的基本操作后封裝成常用的AJAX工具函數。除此之外,還會演示如何使用這些封裝好的AJAX工具函數請求服務器端的數據。在此過程中,還會詳細介紹JSON和XML這兩種常用于網絡傳輸的數據格式,演示如何在JavaScript代碼中解析和序列化它們,并將請求到的數據在不刷新頁面的情況下顯示在頁面中。

    第11章,Node.js概述。這一章作為第三部分的開篇,會對Node.js這個可在瀏覽器之外運行JavaScript代碼的運行環境進行概要性的介紹,為讀者打好基礎。

    第12章,構建Web服務。這一章討論如何在Node.js平臺中構建Web服務。這是Node.js與PHP、JSP等Web應用開發方式的重大區別之一。使用PHP、JSP等應用開發方式通常需要借助Apache、Nginx、IIS這類服務器軟件來構建Web服務,這無疑增加了Web全棧開發人員的學習成本和部署成本。當然,使用Node.js來構建Web服務也增加了編程的工作量。所以兩種Web開發方式各有利弊,讀者需根據自己的需要來取舍。

    第13章,響應客戶請求。這一章討論如何編寫基于Node.js的Web應用程序后端的核心任務:響應客戶端請求。響應客戶端請求的第一步是要對客戶端發來的請求信息進行全面而細致的分析,這通常需要借助http.IncomingMessage類的實例來完成。本章首先會詳細介紹該類對象常用的屬性和方法,以及可以注冊的事件處理函數。響應客戶端請求的第二步是根據分析的結果構建要返回給客戶端的響應數據。響應數據主要可分為靜態數據與動態數據兩大類,可以根據客戶端請求的URL來區分它們。另外,在構建響應數據的過程中,通常需要借助fs模塊中的方法將服務端的本地文件讀取到程序中。若是靜態資源就直接將讀取出來的數據發送給客戶端;若是動態資源,讀取出來的數據必須進行一些處理才能發送給客戶端,此時需要借助模板引擎構建響應數據。因此,本章也會對fs模塊中的常用方法和模板引擎進行介紹。響應客戶端請求的最后一步是將響應數據發送給客戶端,這通常要借助http.ServerResponse類的實例來完成。本章會對該類對象常用的屬性和方法,以及可以處理的事件進行詳細介紹。

    第14章,實現數據存取。這一章詳細介紹如何在Web應用程序開發中解決數據持久化存取的問題。對于客戶端,首先讓人想到的是最傳統的解決方案:Cookie。該方案雖然具有可自由配置數據有效時間、數據結構簡單易用等優點,但也有大小非常有限、需要不斷地在客戶端與服務端來回傳送、安全性不佳等缺點。為了解決Cookie方案存在的問題,HTML5提供了新的解決方案,即使用localStorage與sessionStorage這兩個對象在客戶端持久化存取不需要在客戶端與服務端之間來回傳送的數據。而對于服務端,數據存取操作通常需要借助數據庫這種專用系統提供的解決方案來完成。本章會對這些解決方案進行逐一介紹。

    版權聲明:本文內容由互聯網用戶自發貢獻,該文觀點僅代表作者本人。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如發現本站有涉嫌抄襲侵權/違法違規的內容, 請發送郵件至 舉報,一經查實,本站將立刻刪除。

    發表評論

    登錄后才能評論
    国产精品区一区二区免费