向您講授了如何向 html 頁面添加 JavaScript,使得網站的動態性和交互性更強。
你已經學習了如何創建對事件的響應,驗證表單,以及如何根據不同的情況運行不同的腳本。
你也學到了如何創建和使用對象,以及如何使用 JavaScript 的內置對象。
現在已經你已經學習了 JavaScript,接下來該學習什么呢?
下一步應該學習 HTML DOM 和 DHTML。
如果你希望學習關于服務器端腳本的知識,那么下一步應該學習 ASP,PHP, .Net。
HTML DOM
HTML DOM 定義了訪問和操作 HTML 文檔的標準方法。 HTML DOM 獨立于平臺和語言,可被任何編程語言使用,比如 Java、JavaScript 和 VBscript。 假如希望了解更多關于 DOM 的知識,請訪問我們的 HTML DOM 教程。
jQuery
jQuery 是一個 JavaScript 庫。
jQuery 極大地簡化了 JavaScript 編程。
jQuery 很容易學習。
假如希望了解更多關于 jQuery 的知識,請訪問我們的 jQuery 教程。
AJAX
AJAX=異步 JavaScript 和 XML。
AJAX 不是一種新的編程語言,而是一種使用現有標準的新方法。
通過與服務器進行數據交換,AJAX 可以在不重新加載整個網頁的情況下,對網頁的某部分進行更新。
有很多使用 AJAX 的應用程序案例:新浪微博、Google 地圖、開心網等等。
假如您希望學習更多關于 AJAX 的知識,請訪問我們的 AJAX 教程。
ASP / PHP / .NET
和 HTML 文檔中的腳本運行于客戶端(瀏覽器)不同,ASP/PHP 文件中的腳本在服務器上運行。
使用 ASP,你可以動態地編輯、改變或者添加網站內容,對由 HTML 表單提交而來的數據進行響應,訪問數據或者數據庫并向瀏覽器返回結果,或者定制對不同的用戶來說更有幫助的網頁。
由于 ASP/PHP 文件返回的是純粹的 HTML,因此可顯示在任何瀏覽器中。
、什么是 node.js?
① Node.js 是一個基于 Chrome V8 引擎的 JavaScript 運行環境。 Node.js 使用了一個事件驅動、非阻塞式 I/O 的模型。
② Node 是一個讓 JavaScript 運行在服務端的開發平臺,它讓 JavaScript 成為與PHP、Python、Perl、Ruby 等服務端語言平起平坐的腳本語言。
2、安裝 node.js
官網鏈接:
https://nodejs.org/zh-cn/
安裝完成在終端里輸入 node -v
當出現對應的 node 版本號,即安裝成功。
下面執行 js 方法就是一貫通用的用 node 名字.js
3、全局函數
全局函數:簡單理解就是放在 js 中任何地方都能執行。像 setTimeout 和 console 就是全局函數。
箭頭函數:又叫匿名函數,簡化函數的寫法。箭頭函數的好處:解決了this在function為undefined的問題。
4、回調函數
有個比方說的很形象,有一家旅館提供叫醒服務,但是要求旅客自己決定叫醒的方法。可以是打客房電話,也可以是派服務員去敲門,睡得死怕耽誤事的,還可以要求往自己頭上澆盆水。這里,“叫醒”這個行為是旅館提供的,相當于庫函數,但是叫醒的方式是由旅客決定并告訴旅館的,也就是回調函數。而旅客告訴旅館怎么叫醒自己的動作,也就是把回調函數傳入庫函數的動作,稱為登記回調函數。
5、導出和導入模塊
① 導入單個函數
為了讓Node.js的文件可以相互調用,Node.js提供了一個簡單的模塊系統。
app.js
以上實例中,代碼 require('./count_module') 引入了當前目錄下的 count_module.js 文件(./ 為當前目錄,node.js 默認后綴為 js)。
Node.js 提供了 exports 和 require 兩個對象,其中 exports 是模塊公開的接口,require 用于從外部獲取一個模塊的接口,即所獲取模塊的 exports 對象。
count_module.js
在以上示例中,count_module.js 通過 exports 對象把 counter 作為模塊的訪問接口,在 app.js 中通過 require('./count_module') 加載這個模塊,然后就可以直接訪 問 count_module.js 中 exports 對象的成員函數了。
在終端執行 node app.js 輸出:
② 導入多個函數
app.js
count_module.js
6、事件
7、文件讀寫
8、刪除文件和創建文件夾
9、web 服務器
app.js
輸出:
網頁:
10、路由
① 入口文件
app.js
② server_路由.js
11、路由重構代碼
app.js
server_重構路由.js
router.js
handler.js
幾乎每個人都聽說過 v8引擎這個概念,大多數人都知道 JavaScript 是單線程的,或者它使用的是回調隊列。
執行 JavaScript 代碼所涉及的核心組件包括運行時環境和瀏覽器,他們內部如何工作呢?
JavaScript 是一種解釋性編程腳本語言,JavaScript 引擎就是一個執行 JavaScript 代碼的計算機程序:解釋器,當 JavaScript 文件在瀏覽器中加載時,負責逐行解析代碼,將其轉換為機器代碼,然后執行它。
每個瀏覽器都有自己的 JavaScript 引擎,但最著名的是 Google 的 v 8引擎。V8引擎不僅為 Google Chrome 提供動力,還為 Node.js 提供動力,這就是 JavaScript 運行時。
引擎由兩個主要組件組成:
Call Stack調用堆棧:計算模型:棧下推自動機,圖靈等價。
JS是一種單線程的編程語言,這意味著它只有一個 Call Stack。因此,它可以一次只做一件事。并且不必處理在多線程環境中出現的復雜場景(例如,死鎖)。
調用堆棧是一種數據結構,它基本上記錄我們在程序中的位置。如果我們進入一個函數,我們把它放在堆棧的頂部。如果我們從一個函數返回,我們將從堆棧頂部彈出。
JavaScript 引擎并不是孤立運行的。它和許多其他組件一起運行在一個叫做JavaScript Runtime Environment 中。
JRE 負責JavaScript 的異步執行。組件包含:
雖然是單線程,為了處理多任務,需要并發交替執行,
并發、多線程、多進程、異步編程和事件循環等是一組相關概念,交織在PL和OS的中間。
首先,并發性是一個概念,它能夠無序地處理多個任務。任務一般分為計算密集和讀寫密集。
real world,一個餐廳,一排人點菜后,后廚出菜就是無序的,有的菜工序復雜就得多等,這就是異步,同步就是先來后到一個個上完菜。
實現并發性的技術很多,包括多線程、多進程和異步編程。
異步編程, 比如node.js并發性 使用的異步 i/o,將 i/o 操作移交給操作系統內核,并將 i/o 操作的回調推遲。異步io這個任務就放在事件循環隊列進行調度。
由此各組件基本解釋一番。
*請認真填寫需求信息,我們會在24小時內與您取得聯系。