若是你想成爲一名優秀的java架構師,看這裏 → 樂字節免費公開課(騰訊課堂)javascript
如須要跟多資料請點擊右側 → 這是一條不歸路,有禿頭風險,請慎重選擇!html
JavaScript程序的執行單位爲行(line),也就是一行一行地執行。通常狀況下,每一行就是一個語句。java
語句(statement)是爲了完成某種任務而進行的操做,語句以分號結尾,一個分號即表示一個語句結束。多個語句能夠寫在一行內(不建議這麼寫代碼),可是一行寫多條語句時,語句必須以分號結尾。數組
表達式不須要分號結尾。一旦在表達式後面添加分號,則JavaScript引擎就將表達式視爲語句,這樣會產生一些沒有任何意義的語句。架構
單行註釋:用//起頭; 多行註釋:放在/* 和 */之間。 兼容html註釋方式:<!-- -->
標識符就是一個名字,用來給變量和函數進行命名,有特定規則和規範ide
規則:函數
由Unicode字母、_、$、數字組成、中文組成 (1)不能以數字開頭 (2)不能是關鍵字和保留字 (3)嚴格區分大小寫
規範:測試
(1)見名知意 (2)駝峯命名或下劃線規則
關鍵字也稱保留字,是被JavaScript徵用來有特殊含義的單詞this
arguments、break、case、catch、class、const、continue、debugger、default、delete、do、else、enum、eval、export、extends、false、finally、for、function、if、implements、import、in、instanceof、interface、let、new、null、package、private、protected、public、return、static、super、switch、this、throw、true、try、typeof、var、void、while、with、yield、Infinity、NaN、undefined
變量即一個帶名字的用來存儲數據的內存空間,數據能夠存儲到變量中,也能夠從變量中取出數據。debug
JavaScript是一種弱類型語言,在聲明變量時不須要指明數據類型,直接用var修飾符進行聲明。
變量聲明和賦值:
// 先聲明再賦值 var a ; a = 10; // 聲明同時賦值 var b = 20;
(1)若只聲明而沒有賦值,則該變量的值爲undefined。
var box; console.log(box);
(2)變量要有定義才能使用,若變量未聲明就使用,JavaScript會報錯,告訴你變量未定義。
console.log(box2);
(3)能夠在同一條var命令中聲明多個變量。
var a, b, c = 10; console.log(a,b,c);
(4)若使用var從新聲明一個已經存在的變量,是無效的。
var box = 10 var box;
(5)若使用var從新聲明一個已經存在的變量且賦值,則會覆蓋掉前面的值
var box = 10; var box = 25;
(6)JavaScript是一種動態類型、弱類型語言,也就是說,變量的類型沒有限制,能夠賦予各類類型的值。
var box = 'hello world'; box = 10;
JavaScript 引擎的工做方式是,先解析代碼,獲取全部被聲明的變量,而後再一行一行地運行。這形成的結果,就是全部的變量的聲明語句,都會被提高到代碼的頭部,這就叫作變量提高。
console.log(msg); var msg = "so easy"; // 變量提高,至關於下面的代碼 var msg; console.log(msg); msg = "so easy"; // 說明: 最後的結果是顯示undefined,表示變量msg已聲明,但還未賦值。
注意:變量提高只對 var 命令聲明的變量有效,若是變量不是用 var 命令聲明的,就不會發生變量提高。
console.log(msg); msg = "error";
雖然說JS是弱類型語言,變量沒有類型,但數據自己是有類型的。針對不一樣的類型,咱們能夠進行不一樣的操做。
JavaScript 中有6 種數據類型,其中有五種簡單的數據類型:Undefined、Null、布爾、數值和字符串。一種複雜數據類型Object。
數 值(Number): 整數和小數(好比 1 和 3.14) 字符串(String): 字符組成的文本(好比"Hello World") 布爾值(Boolean):true(真)和 false(假)兩個特定值 Undefined: 表示「未定義」或不存在,即此處目前沒有任何值 Null: 表示空缺,即此處應該有一個值,但目前爲空 對象(object)(引用) : 各類值組成的集合 1)、對象(object){name:」zhangsan」,age:」18」} 2)、數組(array)[1,2,3] 3)、函數(function)function test() {}
undefined類型的值是undefined。
undefined 是一個表示"無"的原始值,表示值不存在。
出現undefined的常見狀況:
(1)當聲明瞭一個變量而沒有初始化時,這個變量的值就是undefined
var box; console.log(box); //undefined
(2)調用函數時,該函數有形參,但未提供實參,則該參數爲undefined。
function noData(str) { // js函數形參只須要變量名便可 console.log(str); // undefined } noData(); // 調用方法時,未傳遞參數
(3)函數沒有返回值時,默認返回 undefined。
// 方法沒有返回值 function noData() { console.log("Hello"); } var re = noData();// 定義變量接收無返回值的方法 console.log(re);
null類型是隻有一個值的數據類型,即特殊的值null。它表示空值,即該處的值如今爲空,它表示一個空對象引用。
使用Null類型值時注意如下幾點:
1)使用typeof操做符測試null返回object字符串。
2)undefined派生自null,因此等值比較返回值是true。未初始化的變量和賦值爲null的變量相等。
console.log(undefined == null); var box = null; // 賦值爲null的變量 var a; // 未初始化的變量 console.log(a == box); // 兩個的值相等
布爾類型有兩個值:true、false。經常使用來作判斷和循環的條件
數值型包含兩種數值:整型和浮點型。
1)全部數字(整型和浮點型)都是以 64 位浮點數形式儲存。因此,JS中1 與 1.0 相等,並且 1 加上 1.0 獲得的仍是一個整數。浮點數最高精度是17位小數,因爲浮點數運算時可能不精確,儘可能不要使用浮點數作判斷。
2)在存儲數值型數據時自動將能夠轉換爲整型的浮點數值轉爲整型。
console.log(1 == 1.0); // true console.log(1 + 1.0); // 2 var num = 8.0; // 自動將能夠轉換爲整型的浮點數轉爲整型 console.log(num); // 8
使用 ' ' 或 " "引發來,如:'hello',"good"。
使用加號 '+' 進行字符串的拼接,如:console.log('hello' + ' everybody');
對象是一組數據和功能的集合。
說明:
{}:表示使用對象字面量方式定義的對象。空的大括號表示定義包含默認屬性和方法的對象。