Js的數據類型可以分為簡單數據類型和復雜數據類型
簡單數據類型有5種,Number,String,Boolean,undefined,null
1.Number數字類型 ,在控制台顯示顏色位藍色
整數,浮點數,科學計數法
NaN是Number類型,但是NaN != NaN
2.String字符串型 , 控制台顯示黑色
<1>.單/雙引號包裹,成對出現
<2>.str.length 獲取字符串的長度
<3>.轉義字符 \’ , \” , \n(換行)
3.Boolean 布爾類型 true/false 控制台位藍色
- Undefined 控制台位灰色
- Null 控制台為灰色
數據類型的轉換
1.轉換為Number
parseInt()取整,不要小數
parseFloat()取小數,遇到非數字停止
Number()整體判斷,有非數字出現,返回NaN
+ (最常用,代表正號)var sum = +prompt(‘請輸入數字’);
2.轉換為String
String()
str.toString();
拼串 age+””;
3.轉換為Boolean
Boolean();
!!num;
轉成false的幾個特殊值:undefined ,null ,NaN ,0 , “” , false
4.NaN說明:表示一個無法用數字表示的數字
不等於任何值,包括它自己
類型是Number
復雜數據類型: 數組,函數,對象
函數
目的:開發中有很多重復的需求,賦值粘貼會冗余代碼
定義:對一段重復代碼的封裝,一次聲明,多次使用
函數的聲明和調用:
- 聲明: function 函數名() {……}
- 調用: 函數名();
函數的參數
- 形參:函數聲明時,定義在函數名()內的參數,就叫形參
形式參數:沒有值和類型(默認),------在調用函數時,通過傳遞過來的實參值決定,占位置的作用
- 實參: 在函數調用時,傳遞過去的參數,就叫做實參
實際參數,有具體的值和類型
作用:在函數調用時,將值傳給形參
注意:簡單數據類型傳遞的是值,復雜數據類型傳遞的是地址
關於函數參數傳遞的補充說明:
參數(實參,形參)一一對應
(1).多傳
后面的會被忽略,但實際傳過去了,存在函數內部內置的arguments數組中
(2)少傳
沒有接收到的形參就是undefined
函數的返回值
如果希望函數的執行有結果,通過return 返回值
return 后面的代碼不執行,是函數的結束語句
return 返回歲的值就是這個函數調用的結果
函數的三要素:
函數名,函數參數,函數返回值
作用域及其變量(變量起作用的區域)
1.全局作用域:script標簽內,函數外
全局變量: 在全局作用域聲明的變量,可以使用在任何地方
2.局部作用域:函數內的區域(會有多個函數,即多個局部作用域,相互之間沒有關系)
局部變量: 在局部作用域聲明的變量,作用於當前函數內
隱式全局變量
給一個從未聲明過(全局和局部都沒有聲明)的變量直接賦值,就是隱式全局變量
聲明函數的兩種表達方式
- 函數聲明式
function fn(){……}
書寫時可以先調用,后聲明
- 函數表達式
Var fn= function() {……}
必須先聲明,后調用
匿名函數
- 函數表達式
var fn= function(){…}
- 匿名函數自調用
(function() {……})();
可以防止全局變量的污染
預解析
在代碼執行時,讓函數聲明和變量聲明提升
- 變量,函數同名,函數優先級高,覆蓋變量
- 變量提升,不賦值
- 函數提升,不調用
- 同名變量,第一個生效
- 同名函數,后面覆蓋前面