整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          JavaScript 總結

          JavaScript 總結

          向您講授了如何向 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

          avaScript 是如何運行的?

          幾乎每個人都聽說過 v8引擎這個概念,大多數人都知道 JavaScript 是單線程的,或者它使用的是回調隊列。

          執行 JavaScript 代碼所涉及的核心組件包括運行時環境和瀏覽器,他們內部如何工作呢?

          • JavaScript Engine
          • JavaScript Runtime Environment
          • The Call Stack
          • Concurrency and Event Loop

          JavaScript 是一種解釋性編程腳本語言,JavaScript 引擎就是一個執行 JavaScript 代碼的計算機程序:解釋器,當 JavaScript 文件在瀏覽器中加載時,負責逐行解析代碼,將其轉換為機器代碼,然后執行它。

          每個瀏覽器都有自己的 JavaScript 引擎,但最著名的是 Google 的 v 8引擎。V8引擎不僅為 Google Chrome 提供動力,還為 Node.js 提供動力,這就是 JavaScript 運行時。

          引擎由兩個主要組件組成:

          • 內存堆(Memory Heap)ーー這是內存分配發生的地方
          • 調用堆棧(Call Stack)ーー這是代碼執行時堆棧幀的位置

          Call Stack調用堆棧:計算模型:棧下推自動機,圖靈等價。

          JS是一種單線程的編程語言,這意味著它只有一個 Call Stack。因此,它可以一次只做一件事。并且不必處理在多線程環境中出現的復雜場景(例如,死鎖)。

          調用堆棧是一種數據結構,它基本上記錄我們在程序中的位置。如果我們進入一個函數,我們把它放在堆棧的頂部。如果我們從一個函數返回,我們將從堆棧頂部彈出。

          運行時

          JavaScript 引擎并不是孤立運行的。它和許多其他組件一起運行在一個叫做JavaScript Runtime Environment 中。

          JRE 負責JavaScript 的異步執行。組件包含:

          • JS Engine, such as V8
          • Web API
          • Callback Queue or message queue
          • Event Table
          • Event loop

          并發性和事件循環

          雖然是單線程,為了處理多任務,需要并發交替執行,

          并發、多線程、多進程、異步編程和事件循環等是一組相關概念,交織在PL和OS的中間。

          首先,并發性是一個概念,它能夠無序地處理多個任務。任務一般分為計算密集和讀寫密集。

          real world,一個餐廳,一排人點菜后,后廚出菜就是無序的,有的菜工序復雜就得多等,這就是異步,同步就是先來后到一個個上完菜。

          實現并發性的技術很多,包括多線程、多進程和異步編程。

          異步編程, 比如node.js并發性 使用的異步 i/o,將 i/o 操作移交給操作系統內核,并將 i/o 操作的回調推遲。異步io這個任務就放在事件循環隊列進行調度。

          由此各組件基本解釋一番。


          主站蜘蛛池模板: 三级韩国一区久久二区综合| 最新中文字幕一区二区乱码| 无码人妻一区二区三区一| 国产精品亚洲一区二区麻豆| 精品国产免费一区二区| 久久人妻内射无码一区三区| 中文字幕一区二区三区在线播放| 国产在线精品观看一区| 亚洲精品精华液一区二区| 亚洲AV无一区二区三区久久| 中文无码AV一区二区三区| 亚洲国产成人久久一区久久| 国模无码视频一区| 亚洲高清一区二区三区电影| 久久精品一区二区三区资源网| 国产凹凸在线一区二区| 国产午夜精品一区二区三区小说| 久久国产午夜精品一区二区三区 | 大香伊蕉日本一区二区| 亚洲精品精华液一区二区| 无码乱码av天堂一区二区| 人妻无码一区二区三区免费| 亚洲国产精品一区第二页 | 91在线一区二区| 色窝窝无码一区二区三区成人网站 | 无码日韩精品一区二区人妻| 精彩视频一区二区| 美女AV一区二区三区| 精品视频一区二区三区四区五区| 国产A∨国片精品一区二区 | 亚洲熟妇成人精品一区| 97久久精品无码一区二区天美 | 一本AV高清一区二区三区| 国精产品一区一区三区| 麻豆文化传媒精品一区二区| 亚洲av无码一区二区三区四区| 日韩精品一区二区三区国语自制| 色视频综合无码一区二区三区| 国产一区二区三区乱码| 久久久久人妻一区二区三区| 精品一区二区三区|