標籤:製造 定義變數 委員會 靜態 mode 相等 完整 顯示轉換 str
一、JavaScript的曆史
-
1992年Nombas開發出C-minus-minus(C--)的嵌入式指令碼語言(最初綁定在CEnvi軟體中).後將其改名ScriptEase.(用戶端執行的語言)
-
Netscape(網景)接收Nombas的理念,(Brendan Eich)在其Netscape Navigator 2.0產品中開發出一套livescript的指令碼語言.Sun和Netscape共同完成.後改名叫Javascript
-
微軟隨後模仿在其IE3.0的產品中搭載了一個JavaScript的複製版叫Jscript.
-
為了統一三家,ECMA(歐洲電腦製造協會)定義了ECMA-262規範.國際標準組織及國際電子電機委員會(ISO/IEC)也採納 ECMAScript 作為標準(ISO/IEC-16262)。從此,網頁瀏覽器就開始努力(雖然有著不同的程度的成功和失敗)將 ECMAScript 作為 JavaScript 實現的基礎。EcmaScript是規範.
二、ECMAScript
儘管 ECMAScript 是一個重要的標準,但它並不是 JavaScript 唯一的部分,當然,也不是唯一被標準化的部分。實際上,一個完整的 JavaScript 實現是由以下 3 個不同部分組成的:
- 核心(ECMAScript)
- 文件物件模型(DOM) Document object model (整合js,css,html)
- 瀏覽器物件模型(BOM) Broswer object model(整合js和瀏覽器)
- Javascript 在開發中絕大多數情況是基於對象的.也是物件導向的.
簡單地說,ECMAScript 描述了以下內容:
- 文法
- 類型
- 語句
- 關鍵字
- 保留字
- 運算子
- 對象 (封裝 繼承 多態) 基於對象的語言.使用對象.
三、JavaScript基礎
1.JS的引入方式
// 1.使用javascript:首碼構建執行JavaScript代碼的URL<a href="javascript:alert("js已運行");">運行javascript</a>// 2.使用<script> </script>包含<script> alert("js已運行");</script>// 3.匯入javascript檔案<script src="test.js" type="text/javascript"></script>
2.JS變數
1. javascript是弱類型語言,使用變數前,可以無須定義,想使用某個變數時直接使用即可。歸納起來,JavaScript支援兩種方式來引入變數。
隱式定義:直接給變數賦值。
顯示定義:使用var關鍵字定義變數。
2. 一行可以聲明多個變數.並且可以是不同類型
3. 變數命名,首字元只能是字母,底線,$美元符 三選一,餘下的字元可以是底線、貨幣符號或任何字母或數字字元且區分大小寫,x與X是兩個變數
3.常量和標識符
常量 :直接在程式中出現的資料值
標識符:
- 由不以數字開頭的字母、數字、底線(_)、貨幣符號($)組成
- 常用於表示函數、變數等的名稱
- 例如:_abc,$abc,abc,abc123是標識符,而1abc不是
- JavaScript語言中代表特定含義的詞稱為保留字,不允許程式再定義為標識符
4.JS的資料類型
// 1.JavaScript基礎資料型別 (Elementary Data Type) number // 數字類型 boolean // 布爾型 string // 字串類型 undefined //undefined null // object// 2.JavaScript複合資料型別 object // 對象 Array // 數組
數字類型:
字串類型(string):
是由Unicode字元、數字、標點符號組成的序列;字串常量首尾由單引號或雙引號括起;JavaScript中沒有字元類型;常用特殊字元在字串中的表達;
字串中部分特殊字元必須加上右劃線\;常用的逸出字元 \n:換行 \‘:單引號 \":雙引號 \\:右劃線
布爾類型(bolean):
Boolean類型僅有兩個值:true和false,也代表1和0,實際運算中true=1,false=0
布爾值也可以看作on/off、yes/no、1/0對應true/false
Boolean值主要用於JavaScript的控制語句,例如:
var x = 2;if ( x == 1 ){ alert("1") ;}else{ alert("2") ;}Null 和 Undefined類型
Undefined類型
1.Undefined 類型只有一個值,即 undefined。當聲明的變數未初始化時,該變數的預設值是 undefined。
2.當函數無明確傳回值時,返回的也是值 "undefined";
Null類型
另一種只有一個值的類型是 Null,它只有一個專用值 null,即它的字面量。值 undefined 實際上是從值 null 派生來的,因此 ECMAScript 把它們定義為相等的。
儘管這兩個值相等,但它們的含義不同。undefined 是聲明了變數但未對其初始化時賦予該變數的值,null 則用於表示尚未存在的對象(在討論 typeof 運算子時,簡單地介紹過這一點)。如果函數或方法要返回的是對象,那麼找不到該對象時,返回的通常是 null。
四、運算子
運算子分類
// 1.算數運算子 + - * / % ++ --// 2.比較子 > >= < <= != == === !==// 3.邏輯運算子 && || !// 4.賦值運算子 = += -= *= /=
js不同於python,是一門弱類型語言
能夠進行資料轉換的叫做弱類型console.log(‘1‘==1) //Trueconsole.log(‘1‘===1) //False 強型別print(1=‘1‘) //False
1 靜態類型語言2 一種在編譯期間就確定資料類型的語言。大多數靜態類型語言是通過要求在使用任一變數之前聲明其資料類型來保證這一點的。Java 和 C 是靜態類型語言。 3 動態類型語言4 一種在運行期間才去確定資料類型的語言,與靜態類型相反。VBScript 和 Python 是動態類型的,因為它們確定一個變數的類型是在您第一次給它賦值的時候。 5 強型別語言6 一種總是強制類型定義的語言。Java 和 Python 是強制類型定義的。您有一個整數,如果不明確地進行轉換 ,不能將把它當成一個字串去應用。 7 弱類型語言8 一種類型可以被忽略的語言,與強型別相反。JS 是弱類型的。在JS中,可以將字串 ‘12‘ 和整數 3 進行串連得到字串‘123‘,然後可以把它看成整數 123 ,所有這些都不需要任何的顯示轉換。 9 所以說 Python 既是動態類型語言 (因為它不使用顯示資料類型聲明),又是強型別語言 (因為只要一個變數獲得了一個資料類型,它實際上就一直是這個類型了)。
靜態動態、強型別弱類型
五、流程式控制制
分支結構:
1. if.....else結構:
if (運算式1) { 語句1;}else if (運算式2){ 語句2;}else if (運算式3){ 語句3;} else{ 語句4;}
2.switch-case結構
switch基本格式switch (運算式) { case 值1:語句1;break; case 值2:語句2;break; case 值3:語句3;break; default:語句4;}
switch比else if結構更加簡潔清晰,使程式可讀性更強,效率更高。
迴圈語句
for迴圈:(推薦使用)
文法規則: for(初始運算式;條件運算式;自增或自減) { 執行語句 …… }
03.JavaScript簡單介紹