js基本包装类型和引用类型
回顧
1.什么是基本類型?
共5個。boolean,string,number,null,undefined.
?
2.什么是引用類型?
引用類型的值是對象,保存在堆內存中;
引用類型的變量實際上是一個指針,它保存在棧中,指向堆內存中的對象;
包括:object? array? date? regexp? function
?
3.什么是基本包裝類型?
既是基本,也是引用,所以叫做基本引用類型。
基本包裝類型是對基本數據類型的封裝,封裝后即具有基本類型的功能,也有各自的特殊行為(方法)
?
4.和基本類型有什么區別?
區別在于對象的'生存期'。基本包裝類型只存在于代碼的執行瞬間,然后立即被銷毀。
?
Boolean類型:
typeof對基本類型返回“boolean”,而對引用類型返回“object”。
其次,由于Boolean對象是Boolean類型的實例,所以使用instanceof操作符測試Boolean對象會返回true,而測試基本類型的布爾值則返回false。
建議永遠不要使用Boolean對象!
?
Number類型:
創建number對象,可以在調用Number構造函數時向其中傳遞相應的數值:
var numberObject = new Number(10);Number類型還提供一些用于將數值格式化為字符串的方法:toFixed()方法
1.toFixed()方法會按照指定的小數位返回數值的字符串表示:(即以0填補必要的小數位)
var num=10; alert(num.toFixed(2)); //"10.00
2.toExponential(),該方法返回以指數表示法(e表示法)表示的數值的字符串形式。也可以接收一個參數,指定輸出結果中的小數位數。
?
3.toPrecision()方法
可能會返回固定大小格式,也可能返回指數(exponential)格式;具體規則是看哪種格式合適。可以接收一個參數,表示數值的所有數字的位數(不包括指數部分):
var num = 99; alert(num.toPrecision(1));//"1e 2" alert(num.toPrecision(2));//"99" alert(num.toPrecision(3));//"99.0"注意:typeof 測試基本類型,返回number;測試number對象時,返回“object”。number對象是number類型的實例,而基本類型的數值則不是。
?
String()方法:
var stringObject = new String("hello world");//length屬性
var stringValue = "hello world";
alert(stringValue.length); //"11"
1.字符方法:
兩個:charAt()和charCodeAt()
//charAt()方法以單字符字符串的形式返回給定位置的那個字符var stringValue = "hello world"; alert(stringValue.charAt(1)); //"e" //【字符編碼】形式返回給定位置的字符
var stringValue = "hello world"; alert(stringValue.charCodeAt(1)); //"101"
2.字符串操作方法
concat():拼接字符串,返回拼接后的新字符串
var stringValue = "hello "; var result = stringValue.concat("world"); alert(result); //hello world alert(stringValue); //hello //可以接收任意多個參數,即拼接任意多個字符串var stringValue = "hello "; var result = stringValue.concat("world","!");alert(result); alert(stringValue);
str(),substring(),substr():
注意:substring() 不接受負的參數;
? substr()方法、slice()方法中的參數如果是負數,那么它規定的是從數組尾部開始算起的元素。
var stringValue = "hello world"; alert(stringValue.slice(3,7)); //"lo w" alert(stringValue.substring(3,7)); //"lo w" alert(stringValue.substr(3,7)); //"lo world" var stringValue = "hello world"; alert(stringValue.slice(3,-4)); //"lo w" alert(stringValue.substring(3,-4)); //"hel" alert(stringValue.substr(3,-4)); //" "1.slice()方法會把第二個負值的參數轉換為“字符串長度 負值”(本例中“hello world”共11個字符(含括號),所以是11-4=7),也就是說slice(3,-4)==> slice(3,7)==>"lo w"
2.substring()方法會將負值轉換為0,substring(3,-4)==>substring(3,0),又因為這個方法會將較小的值作為開始位置、較大的值作為結束位置,所以==>substring(0,3)==>取前3個字符==>"hel"
3.substr()方法也將第二個參數轉換為0。而substr()方法的第二個參數本身的含義是 ”返回的字符個數”,當值為0時,即返回0個字符。所以第二個參數為負值時,該方法返回空字符串。
更多專業前端知識,請上 【猿2048】www.mk2048.com
總結
以上是生活随笔為你收集整理的js基本包装类型和引用类型的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: EventUtil.addHandler
- 下一篇: 小程序-冒泡事件