1. 程式人生 > >廖雪峰JS(1)

廖雪峰JS(1)

講解 創建 與運算 false 斷點 數據 這不 完整 ==

一、JS代碼可以嵌在網頁任何地方不過一般放在<head>裏面 <head> <script> alert(‘Hello, world‘); </script> </head> 或者(多個頁面可以引用同一個js文件,一個頁面可以引用多個js文件) <head> <script src="/static/js/abc.js"></script> </head> 二、調試 打開網頁console,可以輸入js代碼,回車執行。 要查看一個變量內容,輸入console.log(a);回車顯示變量內容。 如果你對自己還有更高的要求,可以研究開發者工具的“源碼(Sources)”,掌握斷點、單步執行等高級調試技巧。
三、基本語法(不建議一行代碼有兩個語句) 下面一行代碼是一個完整的賦值語句: var x=1; 下面一行代碼是一個字符串,可以視為一個完整的語句: ‘Hello, world‘; 四、數據類型和變量 number 123; // 整數123 0.456; // 浮點數0.456 1.2345e3; // 科學計數法表示1.2345x1000,等同於1234.5 -99; // 負數 NaN; // NaN表示Not a Number,當無法計算結果時用NaN表示 Infinity; // Infinity表示無限大,當數值超過了JavaScript的Number所能表示的最大值時,就表示為Infinity 計算機由於使用二進制,所以,有時候用十六進制表示整數比較方便,十六進制用0x前綴和0-9,a-f表示,例如:0xff000xa5b4c3d2,等等,它們和十進制表示的數值完全一樣。
1 + 2; // 3 (1 + 2) * 5 / 2; // 7.5 2 / 0; // Infinity 0 / 0; // NaN 10 % 3; // 1 10.5 % 3; // 1.5 字符串 引號括起來的任意文本,單引號雙引號都一樣。 布爾值 &&與運算,||或運算,!非運算 比較運算符 實際上,JS允許對任意數據類型做比較 false == 0; // true false === 0; // false 相等運算符== 第一種是==比較,它會自動轉換數據類型再比較,很多時候,會得到非常詭異的結果; 第二種是===比較,它不會自動轉換數據類型,如果數據類型不一致,返回false,如果一致,再比較。
另一個例外是NaN這個特殊的Number與所有其他值都不相等,包括它自己: NaN === NaN; // false 唯一能判斷NaN的方法是通過isNaN()函數: isNaN(NaN); // true 最後要註意浮點數的相等比較: 1 / 3 === (1 - 2 / 3); // false 這不是JavaScript的設計缺陷。浮點數在運算過程中會產生誤差,因為計算機無法精確表示無限循環小數。要比較兩個浮點數是否相等,只能計算它們之差的絕對值,看是否小於某個閾值: Math.abs(1 / 3 - (1 - 2 / 3)) < 0.0000001; // true null和undefined 0是一個數值,‘‘表示長度為0的字符串,而null表示“空”。 大多數情況下,我們都應該用nullundefined僅僅在判斷函數參數是否傳遞的情況下有用。 數組 數組是一組按順序排列的集合,集合的每個值稱為元素。JavaScript的數組可以包括任意數據類型。例如:[1, 2, 3.14, ‘Hello‘, null, true]; 另一種創建數組的方法是通過Array()函數實現: new Array(1, 2, 3); // 創建了數組[1, 2, 3] 數組的元素可以通過索引來訪問。請註意,索引的起始值為0 arr[6]; // 索引超出了範圍,返回undefined 對象 JavaScript的對象是一組由鍵-值組成的無序集合,例如: var person = { name: ‘Bob‘, age: 20, tags: [‘js‘, ‘web‘, ‘mobile‘], city: ‘Beijing‘, hasCar: true, zipcode: null }; 要獲取一個對象的屬性,我們用對象變量.屬性名的方式: person.name; // ‘Bob‘ person.zipcode; // null 變量 變量名是大小寫英文、數字、$_的組合,且不能用數字開頭。變量名也不能是JavaScript的關鍵字,如ifwhile等。 strict模式 如果一個變量沒有通過var申明就被使用,那麽該變量就自動被申明為全局變量 使用var申明的變量則不是全局變量,它的範圍被限制在該變量被申明的函數體內(函數的概念將稍後講解),同名變量在不同的函數體內互不沖突。 啟用strict模式的方法是在JavaScript代碼的第一行寫上: ‘use strict‘;

廖雪峰JS(1)