標籤:
資料的類型轉換
:
之前提到過,js中資料類型分兩種,
基礎資料型別 (Elementary Data Type)string number boolean undefined null
複雜資料類型 對象 Date Array function
而在實際編程中,經常會與到資料類型轉換的問題,比如把字串類型的資料轉化成數字類型的,又或者是把數字類型的轉化成布爾類型的,那js中到底怎麼實現資料類型的轉換呢?
轉成number:
隱式轉換 + - * / % ;值得注意的是,+在這裡是用做正負的作用,而且是放在要轉換的值得前面的。
強制轉換 使用外部的方法或是函數進行的資料轉換
Number() parseInt() parseFloat()
var a = "123";
var b = true;
console.log(Number(a)); // 123
console.log(Number(true)); // 1
console.log(Number(null)); // 0
console.log(Number(undefined)); // NaN
console.log(Number("123.456")); // 123.456
console.log(Number(" ")); //0
boolean類型的值轉換成Number類型true-->1 false-->0;
unerfined-----> NaN;
如果能將值轉換成數字,就轉換成對應的值,如果不能轉換,則報NaN.
Number()函數的特點:
a.如果轉換的內容可以轉成數字,那麼就直接返回這個內容對應的數字。
b.將整體進行轉換,如果有一個不可以轉換那麼返回NaN.
c.如果在內容中出現小數,那麼小數會保留,也會輸出小數。
d.如果內容為空白(null),那麼轉換成0;
轉成string類型:
隱式類型轉換:+“”
強制類型 toString() String();
萬物皆對象,JS中的對象幾乎都有toString();null,undefined是沒有toString()方法,如果要強制轉換的話,只能使用String();能用toString()轉換的對象,對string()都可以。
轉boolean類型
隱式類型 !!
強制類型 Boolean()
資料類型轉boolean的時候,為false的情況:
0, “”,null,undefined,NaN, 這些轉成boolean類型的時候都為false,其它的都為true;
函數:
函數:其實就是一段代碼,一段可以在使用的時候執行,可以重複使用的代碼塊。它把可以重用的東西提取成函數,把不可重用的東西當成參數傳入函數。
函數的定義:
function 函數名(參數){
函數體(都是可執行檔或是要執行的代碼);
}
函數有三要素:函數名(函數的功能),參數,傳回值。
首先來講講函數名,因為js對大小寫是很敏感的,所以在命名函數和調用函數的時候大小寫都要一直,否則的話就不能調用函數了。然後就是參數,也就是我們提供給函數的資料,函數中的參數可以是任意多個,也可以不寫參數,如果有兩個及以上參數的時候,參數與參數之間用半形的英文逗號隔開。最後,就是函數的傳回值。每個函數都是有傳回值的,如果在函數中沒有明確的傳回值的話,那麼函數就會返回underfined。
函數調用的時候一般都用函數名加括弧的形式來調用。函數名();
在函數中,還有形參跟實參的區別,形參就是在函數定義的時候,所傳入的參數,主要就是為了起佔位置的作用。而實參則是函數在調用的時候所傳入的參數值。定義好了函數之後,在函數調用的時候,會將函數的實參複製一份傳到函數定義時的形參裡面,會和之前的一一對應起來,如果實參和形參的個不一樣的時候,會先按之前的分配,也就是匹配形參中的前面幾個。所以實參和形參的個數是可以不一樣的。
關於函數,還有些不得不提的就是他的範圍的問題。js編程環境的頂級範圍是window對象下的範圍,稱為全域範圍,全域範圍中的變數稱為全域變數。而js函數內的變數無法在函數外面訪問,在函數內卻可以訪問函數外的變數,函數內的變數稱為局部變數。
JS入門(三)