一、js簡介
js是一門可嵌入式語言,是可以插入到HTML頁面的編程代碼,是由瀏覽器進行翻譯執行。
分為三部分:ECMAScript:是JavaScript的核心,稱為解譯器,主要把我們寫的代碼翻譯給電腦,然後再把電腦的返回的代碼解釋給我們。
DOM:文件物件模型,操作HTML
BOM:瀏覽器物件模型,操作瀏覽器
二、引入js
通常會把函數放在head中,或者放到頁面底部部分,這樣使其在同一位置,不會干擾頁面內容。
1、內嵌:把js代碼放入到<script>js代碼</script>中
2、外聯:引入js檔案<script src="myScript.js"></script>
三、JS的輸出
JS中沒有用於列印或者輸出的函數,但是可以通過不同的方式來輸出資料
1. window.alert();彈出警告框 2. document.write();將內容寫入到HTML文檔中,如果在整個文檔載入完後,執行這個方法,頁面將會被覆蓋 3. innerHTML在JS是雙向功能:擷取對象的內容 或 向對象插入內容; 如:<div id="aa">這是內容</div> 我們可以通過document.getElementById('aa').innerHTML 來擷取id為aa的對象的內嵌內容; 也可以對某對象插入內容,如 document.getElementById('abc').innerHTML='這是被插入的內容';這樣就能向id為abc的對象插入內容。 4. console.log();寫入到瀏覽器的控制台。比如a=1,b=2;可以在頁面中不顯示a+b的結果,而放入到控制台中,在控制台中進行查看結果。主要是用於測試,因為他不同於alert,不會打斷頁面操作,便於調試。
四、JS變數,js變數和語句都對大小寫敏感。
1、JS變數,變數主要是用來儲存資料。
js中,變數使用var關鍵字來定義,使用=來進行賦值。變數必須以字母開頭,也可以是底線或者貨幣符號,但是不推薦。
可以在一個語句中聲明多個變數,用逗號隔開var a=2,b=3,c=4;
重新聲明一個變數,值不會改變。var a=2;var a;a的值仍為2。
命名規則:單詞與單詞之間用底線分割。方法名:第一個單詞字母小寫,其他的單字首大寫。
常見陋習:沒有類型,重複聲明,隱式聲明,不聲明直接賦值。
2、js標識符,必須由字母,底線(_)或者貨幣符號($)開頭,後續字元還可以使用數字。
3、js中的單行注釋使用雙斜杠(//),多行注釋使用(/* */)
4、js中會忽略多餘的空格,所以可以使用空格來增加代碼的可讀性。
5、可以在文本字串中使用反斜線(\)對代碼進行換行。
document.write("你好 \ 再見");在瀏覽器中顯示時不會顯示反斜線
六、資料類型
字串,數字,布爾,數組,對象,空,未定義
字串可以使用單引號或者雙引號括起來,即不區分單雙引號。
js中數字只有一種類型,所以可以使用小數點。
布爾邏輯只能有兩個值,true或者false。
對象由花括弧括起來,括弧內部對象的屬性以名稱和值的形式出現(name:value),不同屬性用逗號隔開,屬性和值之間用冒號而不是等號。
var person={name="zhangsan",age=20};
對象有兩種定址方式:p1 = person.name; p2 = person[“name”];
未定義表示這個變數沒有設定值,可以另某個變數的值等於null來清空變數。
當聲明新的變數時,可以使用new來聲明他的類型。var name = new Stirng;此時js的變數均為對象,當你聲明了一個變數時,就是建立了一個對象。
JavaScript具有隱含的全域概念,意味著你不聲明的任何變數都會成為一個全域對象屬性。
七、變數類型
實值型別: 佔用空間固定,儲存在棧中 儲存與複製的是值本身 使用typeof檢測資料的類型 基礎資料型別 (Elementary Data Type)是實值型別
參考型別: 佔用空間不固定,儲存在堆中 儲存與複製的是指向對象的一個指標 使用instanceof檢測資料類型 使用new()方法構造出的對象是引用型