Web前端學習第十四天·fighting_JavaScript概述


什么是JavaScript?

  JavaScript是一種具有面向對象(OOP)能力的,解釋型的程序設計語言。

    解釋型:直接讀它的代碼,而不是像java等需要經過編譯器編譯成.class文件后,執行.class文件。

  它是基於對象和事件驅動並具有相對安全性的客戶端()腳本語言。

    事件驅動:比如點擊按鈕,選中文本等的操作,觸發一些事件。(艾瑪,我就這么理解的)

    相對安全:刪除文件文件夾等諸如此類的相對惡意的操作是沒有的。

    腳本語言:不像java需要jdk環境一樣需要特殊的環境,只需要有瀏覽器即可。

 

JavaScript的特點

  松散性:變量不需要明確指定一個類型。

  對象屬性:JavaScript中的對象把屬性名映射為任意的屬性值。像哈希表和關聯數組。

    關聯數組:填充數組時為每個元素明確的給出下標,而這種下標不僅僅局限於數字,也可以是字符串,例如:arr[“name”]=“Kity”,arr[“age”]=23。

  繼承機制:基於原型。(不懂……學到后面應該會懂吧呵呵呵……據我所聽說,還有什么原型鏈,應該跟這個有關系。今天的筆記太沒營養了,我嫌棄自己!)

 

JavaScript核心

  ECMAScript(語法部分)+DOM(文檔對象模型)+BOM(瀏覽器對象模型)

    ECMAScript:與瀏覽器沒有依賴關系,定義的是語言的基礎,組成部分有:語法,類型,語句,關鍵字,保留字,操作符,對象等。

    DOM:Document Object Model 文檔對象模型。針對XML但是經過擴展用於HTML的API(Application Programming Interface)應用程序編程接口。W3C對DOM的定義是“一個與系統平台和編程語言無關的接口,程序和腳本可以通過這個接口動態的訪問和修改文檔的內容、結構和樣式”。

    BOM:Browser Object Model 瀏覽器對象模型。使用BOM可以控制瀏覽器顯示頁面以外的部分。 

 

<script></script>標簽放置的位置

  有三種放置方法:

    1.放在<head>標簽中,將腳本直接寫在<script type="text/javascript">標簽里面。

    2.放在<head>標簽中,將腳本寫在js文件中,通過<script type="text/javascript">標簽的src屬性引入。

    3.引入外部js文件,<script type="text/javascript">標簽放在html文檔的最后,</body>標簽之前,這樣能使瀏覽器更快的加載頁面。

  引入js文件的方法,優點是:可維護性高,可緩存(加載一次,無需再加載),方便擴展。

  

瀏覽器使用的渲染引擎

  基於Webkit:Safari、Chrome

  基於Gecko:FireFox

  基於Trident:IE

  基於Presto:Opera

  還有很多不同種類的頁面渲染引擎。

 

關於JavaScript的一些基礎語法

  允許直接對變量賦值而無需事先聲明。

  變量名和其他語法元素的名字區分大小寫。

  變量名中不能包含空格或者標簽符號($符號除外),允許包含字母、數字、下划線和美元符號,但第一個字符不能是數字。

  強類型:必須明確類型聲明的語言稱為強類型語言。

  弱類型:不需要進行類型聲明的語言稱為弱類型語言,如JavaScript。

  反斜線對字符進行轉義。如:var mood = ‘don\‘t ask’;

  數組用Array關鍵字聲明。聲明方式有以下幾種:

    1.var arr = Array(4); 或者不給出元素個數,而后利用下標進行數組的填充。如:arr[0] = 123;

    2.var arr = Array(123,4,"abs","http");

    3.var arr = [123,4,"abs","http"];

  關聯數組:填充數組時為每個元素明確的給出下標,但是這個下標不僅僅可以是數字,也可以是字符串。如:arr["name"] = "Candy";

  對象的創建方法有兩種:

    1.var lennon = Object();

     lennon.name = "Candy";

     lennon.year = 1993;

     lennon.sex = "female";

    2.var lennon = {name:"Candy",year:1993,sex:"female"};

  “==”  相等操作符。相等操作符認為空字符串與false的含義相同,所以嚴格比較相等時可以使用“===”。同理,嚴格比較不等時使用“!==”。

  var關鍵字與變量的作用域:如果函數中使用了var,那么這個變量是局部變量,只存在於這個函數中;如果沒有使用var,那么這個變量是一個全局變量,如果腳本里已經存在一個與之同名的全局變量,這個函數就會改變那個全局變量的值。在定義一個函數時,一定要把它內部的變量都聲明為局部變量,這樣就能避免任何形式的二義性隱患。

  對象有三類:

    用戶定義對象:程序媛自己定義的對象。

    內建對象:JavaScript預先定義的一系列對象,如:Math(Math.round()方法可以把十進制數舍入為一個與之最接近的整數)、Array、Date(用來存儲和檢索與特定日期和時間有關的信息)。

    宿主對象:有瀏覽器提供的預定義對象,如:Form、Image、Element、document(能用來獲取網頁上的任何一個元素的信息)。

 

全是概念!再見~~~

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM