1. 程式人生 > >JavaScript查缺補漏(1)

JavaScript查缺補漏(1)

<script>標籤

一些老舊的例項可能會在 <script> 標籤中使用 type=”text/javascript”。現在已經不必這樣做了。JavaScript 是所有現代瀏覽器以及 HTML5 中的預設指令碼語言。

console.log()的用處

主要是方便你調式javascript用的, 你可以看到你在頁面中輸出的內容。

相比alert他的優點是:

他能看到結構化的東西,如果是alert,淡出一個物件就是[object object],但是console能看到物件的內容。

console不會打斷你頁面的操作,如果用alert彈出來內容,那麼頁面就死了,但是console輸出內容後你頁面還可以正常操作。

JavaScript 字面量

在程式語言中,一般固定值稱為字面量,如 3.14。

數字(Number)字面量 可以是整數或者是小數,或者是科學計數(e),123e5代表123*00000*。z=123e-5代表0.00123。

字串(String)字面量 可以使用單引號或雙引號

JavaScript 字母大小寫

JavaScript 對大小寫是敏感的。

當編寫 JavaScript 語句時,請留意是否關閉大小寫切換鍵。

函式 getElementById 與 getElementbyID 是不同的。

同樣,變數 myVariable 與 MyVariable 也是不同的。

變數名命名方法

JavaScript 中,常見的是駝峰法的命名規則,如 lastName 。

當變數名或函式名是由一個或多個單詞連結在一起,而構成的唯一識別字時,第一個單詞以小寫字母開始;第二個單詞的首字母大寫或每一個單詞的首字母都採用大寫字母,例如:myFirstName、myLastName,這樣的變數名看上去就像駱駝峰一樣此起彼伏,故得名。

駱駝式命名法的命名規則可視為一種慣例,並無絕對與強制,為的是增加識別和可讀性。

typeof

typeof 用以獲取一個變數或者表示式的型別,typeof 一般只能返回如下幾個結果:
number string object(NULL,物件,陣列) boolean function(函式) undefined

我們可以使用 typeof 來獲取一個變數是否存在,如 if(typeof a!=”undefined”){},而不要去使用 if(a) 因為如果 a 不存在(未宣告)則會出錯。

正因為 typeof 遇到 null,陣列,物件時都會返回 object 型別,所以當我們要判斷一個物件是否是陣列時。

或者判斷某個變數是否是某個物件的例項則要選擇使用另一個關鍵語法 instanceof

instanceof

可以通過instanceof 操作符來判斷物件的具體型別,語法格式:

var result = objectName instanceof objectType

返回一個布林值,是指定型別返回true。

arr = [1,2,3];
if(arr instanceof Array){
    document.write("arr 是一個數組");
} else {
    document.write("arr 不是一個數組");
}

作用域

function oExe(){
oDemo = 3;
}

在oExe沒呼叫之前,oDemo是一個undefined。在oExe被呼叫後,oDemo變為一個全域性變數。

變數提升

JavaScript中,變數和函式的宣告都將會被提升到函式的頂部,也就是變數和函式可以先使用在宣告。

不過對於初始化的宣告失效。

document.write(oNum);
var oNum = 4//失效

JSON字串轉化JavaScript物件

語法
var obj.parse(text);

var text = '{"sites":[' + '{"name":"Runoob" , "url":"www.runoob.com"}, ' + '{ "name":"Google" ,"url":"www.baidu.com"}]}';

obj = JSON.parse(text);
document.getElementById("demo").innerHTML = obj.sites[1].name