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

什麼是JavaScript?javascript

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

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

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

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

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

    腳本語言:不像java須要jdk環境同樣須要特殊的環境,只須要有瀏覽器便可。緩存

 

JavaScript的特色安全

  鬆散性:變量不須要明確指定一個類型。編程語言

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

    關聯數組:填充數組時爲每一個元素明確的給出下標,而這種下標不單單侷限於數字,也能夠是字符串,例如: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(能用來獲取網頁上的任何一個元素的信息)。

 

全是概念!再見~~~

相關文章
相關標籤/搜索