資料型別分為基本型別和引用型別
基本型別為:number,string,boolean, undefined , null
引用型別為:Date,Function , Array, Object,正則表示式,核心是Object和Function
一、number
可以是整數,也可以是小數。浮點數值的最高精度是17位小數,但在進行算術計算時,精確度遠不如整數。
注意:永遠不要測試某個特定的浮點數值(不要判斷兩個浮點數是否相等)
特點:表達的是一種資料的量
表現形式
NaN:not a number 非數字,與任何數都不相等,包括自己。
作用:用來表示數值的一種不正常狀態
一般情況下,在計算出現錯誤的時候出現。
判斷當前的資料是否是NaNd的關鍵字:isNaN
isNaN:是 不是一個數字,是一個非數字
isNaN():任何不能被轉換成數值的值都會導致這個函式返回true
如果是非數字,結果是true;
如果是數字,結果是falsh
二、string
特點:用引號引起來的文字
注意:
1.引號可以是單引號,也可以是雙引號
2.如果要在字串輸出引號應該怎麼辦?
a.如果字串有雙引號,可以將字串的引號變成單引號
b.可以使用轉義字元
字元轉義:\n 換行
\t 縮排
\b 空格
\r 回車
\\ 斜槓
\' 單引號
\" 雙引號
獲取一個字串中字元的個數可以使用length
字串的不可變:字串一旦建立,它們的值就不能改變;要想改變某個變數儲存的字串,首先要銷燬原來的字串,然後在用另一個包含新值的字串填充該變數
字串拼接:
加號的作用:
1.兩個字串用加號連線,那麼加號起到連線字串的作用
2.兩個數值用加號連線,那麼加號起到加法運算子的作用
3.加號連線的兩個直接量中有一個是字串,那麼加號的作用是連線
三、boolean
取值:對 true
錯false
並且區分大小寫
作用:用於判斷條件的結果
四、undefined
如果一個變數聲明瞭但是沒有賦值,它的結果就是undefined,undefined在頁面中不會報錯
五、null
空的物件
六、Object
1.物件的建立
var a=new object();
2.物件屬性的新增
a.name="zhangsan"
3.物件的取值
alert(a.name)
javascript中的物件:無序屬性的集合
1.記憶體開闢空間,儲存新建立的物件
2.會把this設定為當前物件
3.執行函式內部的程式碼,設定物件的屬性和方法
4.返回新建立的物件
7.Array
1.陣列的建立
建立陣列的兩種方式:
方式一:陣列字面量
var arr1=[];//建立一個空陣列
var arr2=[1,2,3];//建立一個包括3個數值的陣列,多個數組項用逗號隔開
var arr3=["a","b"];//建立一個包括2個字串的陣列
方式二:Array的建構函式
var arr4=new Array();//建立一個空陣列
var arr5=new Array(10);//建立一個長度為10的陣列
var arr6=new Array("black","white");//建立一個包括2個字串的陣列
2.陣列的賦值
a[0]=10;
3.陣列的取值
alert(a[0]);//獲取元素的第一個值
colors[1]="blue"//給第二個元素重新賦值
注意:
a.js中陣列定義好了以後就是一個無窮大的容器
b.元素可以任意的新增:數量和型別都不限制
c.元素的下標從0開始
4.遍歷陣列
8.Function
函式可以封裝一段javascript程式碼,它只定義一次,但是可以被執行或者呼叫多次
a.作用:用來封裝一些經常要來的程式碼
b.結構:
function 函式名(){
}
c.函式的定義
function 函式名(){
函式體
}
d.函式的呼叫
函式名()
e.函式的引數
在javascript中,形參和實參的個數可以不一致
f.函式的返回值
跟在return後邊的資料,叫做函式的返回值
(1)如果return後邊跟有內容,返回return後邊的內容
(2)如果return後邊沒有跟內容,返回undefined
(3)如果函式內部沒有寫return,返回undefined
(4)推薦的做法是要麼讓函式始終都返回一個值,要麼永遠都不要返回值、
一般情況下,函式如果沒有return,這個函式預設返回undefined
函式的三要素:
a函式的功能
b函式的引數
c函式的返回值
過載:函式名字相同,但是引數個數不同
在其他語言中,有過載的概念,在javascript中沒有過載的概念,下面相同名稱的函式會把上邊的函式覆蓋,在javascript中不允許出現相同名字的函式
函式宣告和函式表示式的區別
匿名函式
定義:沒有名字的函式
作用:一般用在繫結事件的時候
語法:function(){}
自呼叫函式:(function(){alert("hello")});
自呼叫函式只能呼叫一次,可以避免變數命名的衝突
函式可以作為另一個函式的引數