JavaScript學習(一)JavaScript 簡介

JavaScript 簡介

什麼是 JavaScript?

JavaScript 最初的目的是爲了“賦予網頁生命”。這種編程語言我們稱之爲腳本。它們可以寫在 HTML 中,在頁面加載的時候會自動執行。腳本作爲純文本存在和執行。它們不需要特殊的準備或編譯即可運行。這方面,JavaScript 和 Java 有很大的區別。

現在,JavaScript 不僅僅是在瀏覽器內執行,也可以在服務端執行,甚至還能在任意搭載了 JavaScript 引擎 的設備中都可以執行。瀏覽器中嵌入了 JavaScript 引擎,有時也稱作 JavaScript 虛擬機。

  • V8 – Chrome 和 Opera 中的 JavaScript 引擎。
  • SpiderMonkey – Firefox 中的 JavaScript 引擎。

 

引擎是如何工作的

  1. 引擎(通常嵌入在瀏覽器中)讀取(“解析”)腳本。
  2. 然後將腳本轉化(“編譯”)爲機器語言。
  3. 然後這機器語言代碼快速地運行。

瀏覽器中的 JavaScript 能做什麼 ?

瀏覽器中的 JavaScript 可以做與網頁操作、用戶交互和 Web 服務器相關的所有事情。

  • 在網頁中插入新的 HTML,修改現有的網頁內容和網頁的樣式。
  • 響應用戶的行爲,響應鼠標的點擊或移動、鍵盤的敲擊。
  • 向遠程服務器發送網絡請求,下載或上傳文件(所謂 AJAXCOMET 技術)。
  • 獲取或修改 cookie,向訪問者提出問題、發送消息。
  • 記住客戶端的數據(本地存儲)。

 

瀏覽器中的 JavaScript 不能做什麼?

爲了用戶的(信息)安全,在瀏覽器中的 JavaScript 的能力是有限的。這樣主要是爲了阻止邪惡的網站獲得或修改用戶的私人數據。

  • 網頁中的 JavaScript 不能讀、寫、複製及執行用戶磁盤上的文件或程序。它沒有直接訪問操作系統的功能。

    現代瀏覽器允許 JavaScript 做一些文件相關的操作,但是這個操作是受到限制的。僅當用戶使用某個特定的動作,JavaScript 才能操作這個文件。例如,把文件 “拖” 到瀏覽器中,或者通過 <input> 標籤選擇文件。

    JavaScript 有很多方式和照相機/麥克風或者其他設備進行交互,但是這些都需要提前獲得用戶的授權許可。所以,啓用了 JavaScript 的網頁可能不會偷偷地啓動網絡攝像頭觀察你,並把你的信息發送到美國國家安全局

  • 不同的瀏覽器標籤頁之間基本彼此不相關。有時候,也會有一些關係。例如,通過 JavaScript 打開另外一個新的標籤頁。但即使在這種情況下,如果兩個標籤頁打開的不是同一個網站(域名、協議或者端口任一不相同的網站),他們都不能夠相互通信

    這就是“同源策略”。爲了解決不同標籤頁交互的問題,兩個同源的網站必須包含一些特殊的 JavaScript 代碼,才能夠實現數據交換。

    這個限制也是爲了用戶的信息安全。例如,用戶打開的 http://anysite.com 網頁的 JavaScript 不能訪問 http://gmail.com(另外一個標籤頁打開的網頁)也不能從那裏竊取信息。

  • JavaScript 通過互聯網可以輕鬆地和服務器(當前網頁域名的服務器)通訊。但是從其他網站/域的服務器中獲取數據的能力是受限的,需要服務器(在 HTTP 頭中)添加某些參數。這也是爲了用戶的數據安全

 

JavaScript 爲什麼與衆不同?

  • 和 HTML/CSS 完全的集成。
  • 使用簡單的工具完成簡單的任務。
  • 被所有的主流瀏覽器支持,並且默認開啓。

總結

  • JavaScript 最開始是爲瀏覽器設計的一門語言,但是現在也可以在其它的環境中運行。
  • 現在,JavaScript 是一門在瀏覽器中使用最廣、並且能夠很好集成 HTML/CSS 的語言。
  • 有很多其他的語言可以編譯成 JavaScript,這些語言還提供更多的功能。最好要了解一下這些語言,至少需要在掌握 JavaScript 之後簡單地看一下。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章