每當讀取一個基本類型值時,後臺會創建一個對應的基本包裝類型的對象,從而可以調用一些方法來操作數據。引用類型與基本包裝類型的主要區別是對象的生存期。引用類型對象在執行流離開當前作用域之前都一直保存在內存中,而基本包裝類型對象只存在一行代碼的執行瞬間,然後就被銷燬。
typeof 基本包裝類型的實例 // 返回object
Boolean(基本包裝類型的對象) //返回true
使用new 基本包裝類型構造函數 //返回基本包裝類型的實例
直接調用與基本包裝類型同名的轉型函數 //返回的是基本類型的值
var value = "25";
var number = Number(value);
console.log(typeof number); //number
var obj = new Number(value);
console.log(typeof obj); //object
【Boolean】
【Number】
(三個方法都可以通過向上或向下舍入)
▪ 數值.toFixed(要顯示的小數位數) //將數值按照指定的小數位數格式化爲字符串
▪ 數值.toExponential(小數位數) //返回指數表示(e表示)的字符串
▪ 數值.toPrecision(數值所有數字的位數) //返回最合適的格式(指數格式or一般數值格式)
【String】
String類型的每個實例都有一個length屬性。
1. 字符操作方法:
▪ 字符串.charAt(字符位置) ;or 字符串[字符位置];//返回該位置的字符
▪ 字符串.charCodeAt(字符位置) ;//返回該位置的字符的字符編碼
(與其相反的String構造函數的靜態方法:String.fromCharCode(編碼1,編碼2…..); //返回由這些字符組成字符串)
var s1 = "red";
for (var i=0;i<s1.length;i++){
console.log(s1.charCodeAt(i)); //114、101、100
}
console.log(String.fromCharCode(114,101,100)); // red
2. 字符串操作方法:
拼接(原字符串不會變):
字符串.concat(‘要拼接的字符串1’,‘要拼接的字符串2’…….) ; //返回拼接後的新字符串(Array也有這個方法)
截取(原字符串不會變):
▪ 字符串.slice(開始位置,結束位置);(Array也有這個方法) ▪ 字符串.substr(開始位置,返回的字符個數); ▪ 字符串.substring(開始位置,結束位置);該方法會將較小數作爲開始位置。 substr()將第一個負值與字符串長度相加,第二個負數轉換爲0;substring()把兩個負值都轉爲0
查找子字符串位置
▪ 字符串.indexOf("子字符串",開始搜索位置) //向後搜索 (Array也有這個方法) ▪ 字符串.lastIndexOf(“子字符串”,開始搜索位置) //向前搜索(Array也有這個方法)
//找出所有e的下標
var stringValue = "Lorem ipsum dolor sit amet, consectetur adipisicing elit";
var pos = stringValue.indexOf('e');
var posArray = new Array();
while(pos>-1){
posArray.push(pos);
pos = stringValue.indexOf('e',pos+1);
}
console.log(posArray); //[ 3, 24, 32, 35, 52 ]
4.創建一個刪去字符串前置、後置所有空格的副本(原字符串不變):
▪ 字符串.trim()
▪ 字符串.trimLeft() //刪去字符串前置空格
▪ 字符串.trimRight()//刪去字符串後置空格
5.大小寫轉換(原字符串不變)
▪ 字符串.toLowerCase() //小寫
▪ 字符串.toUpperCase() //大寫
▪ 字符串.toLocaleLowerCase() //針對特定地區的小寫
字符串.toLocaleUpperCase()//針對特定地區的大寫
var stringValue = "Lorem ipsum dolor sit amet, consectetur adipisicing elit";
var s = stringValue.toUpperCase();
console.log(stringValue); //Lorem ipsum dolor sit amet, consectetur adipisicing elit (原字符串不變)
console.log(s); //LOREM IPSUM DOLOR SIT AMET, CONSECTETUR ADIPISICING ELIT
6.模式匹配
▪ 字符串.match(“正則表達式”orRegExp對象);
正則表達式orRegExp對象.exec(字符串);
//兩者返回結果一樣,是個數組
▪ 字符串.search(“正則表達式“orRegExp對象);
//返回第一個匹配的索引,若未找到,則返回-1。
▪ 字符串.replace(“正則表達式”orRegExp對象,替代的字符串or函數);
[If 第一個參數爲 “正則表達式”,只會替換第一個子字符串。若要替換所以子字符串,
第一個參數要爲RegExp對象,並指定全局標誌g]
▪ 字符串.split(分隔符(字符串orRegExp對象),指定數組大小(可不寫)) ;
//返回一個數組,包含了被指定分隔符分割的多個子字符串
var c = "red,blue,green,yellow";
var c1 = c.split(/[,]/);
console.log(c1); // [ 'red', 'blue', 'green', 'yellow' ]
7.比較兩個字符串
▪ 字符串1.localeCompare(字符串2); //字符串1在字母表比字符串2前,返回-1;相等返回0;後返回1;