1、創(chuàng)建String對(duì)象
String對(duì)象用于操縱和處理文本串,可以通過該對(duì)象在程序中獲取字符串長(zhǎng)度、提取子字符串,以及將字符串轉(zhuǎn)換為大寫或者小寫字符。
語(yǔ)法:
var newstr = new String(String Text);
參數(shù)說明:
newstr:創(chuàng)建的String對(duì)象名。
var newStr= new String("我是中國(guó)人");
typeof(newStr);
//結(jié)果 "object"
var newStr2 = "我是中國(guó)人";
typeof(newStr2);
//結(jié)果 "string"
事實(shí)上任何一個(gè)字符串變量(用單引號(hào)或雙引號(hào)括起來的字符串)都是一個(gè)string對(duì)象,可以將其直接作為對(duì)象來使用,只要在字符變量的后面加“.”,便可以直接調(diào)用String對(duì)象的屬性和方法。字符串與String對(duì)象的不同在于返回的typeof值,前者返回的是Object的類型,后者返回的是Sring類型。
2、String對(duì)象的屬性
(1)length屬性
該屬性用于獲得當(dāng)前字符串的長(zhǎng)度。
語(yǔ)法:
stingObject.length
參數(shù)說明:
stringObject:當(dāng)前獲取長(zhǎng)度的String對(duì)象名,也可以是字符變量名。
例子1:獲取已創(chuàng)建的字符串對(duì)象“abcdefg”的長(zhǎng)度。
var p=0;
var newString = new String("abcdefg"); //實(shí)例化一個(gè)字符串對(duì)象
var p = newString.length; //獲取字符串對(duì)象的長(zhǎng)度
alert(p); //顯示長(zhǎng)度值
//結(jié)果:7
例子2:獲取自定義的字符變量“abcdefg”的長(zhǎng)度。
var p=0;
var newStr="abcdefg"; //定義一個(gè)字符串變量
var p = newStr.length; //獲取字符變量的長(zhǎng)度
alert(p); //顯示字符串變量的長(zhǎng)度值
//結(jié)果:7
(2)constructor屬性
該屬性用于對(duì)當(dāng)前對(duì)象的函數(shù)的引用。
語(yǔ)法:
Object.constructor
參數(shù)說明:
Object:String對(duì)象名或字符變量名。
例子1:使用constructor屬性判斷當(dāng)前對(duì)象獲自定義變量的類型。
var newName = new String("sdf"); //實(shí)例化一個(gè)字符串對(duì)象
if(newName.constructor == String ){ //判斷當(dāng)前對(duì)象是否為字符型
console.log("這是字符串。"); //如果是,顯示結(jié)果
}
//結(jié)果:這是字符串。
說明:上述例子中的newName對(duì)象,可以用字符串變量代替。該屬性是一個(gè)公共屬性,在Array、Date、Boolean和Number對(duì)象中都可以調(diào)用該屬性,用法與String對(duì)象相同。
例子2:可以利用constructor屬性獲取當(dāng)前對(duì)象fred所引用的函數(shù)代碼。
function chronicle(name,year){ //自定義函數(shù)
this.name=name; //給當(dāng)前函數(shù)的name屬性傳值
this.year=year; //給當(dāng)前函數(shù)的year屬性傳值
}
var fred=new chronicle("Year",2007); //實(shí)例化chronicle()函數(shù)的對(duì)象
console.log(fred.constructor); //顯示對(duì)象中的函數(shù)代碼
//運(yùn)行結(jié)果:
? chronicle(name,year){
this.name=name;
this.year=year;
}
(3)prototype屬性
該屬性可以為對(duì)象添加屬性和方法
語(yǔ)法:
object.prototype.name=value;
參數(shù)說明:
object:對(duì)象名或字符變量名。
name:要添加的屬性名。
value:添加屬性的值。
例子:給information對(duì)象添加一個(gè)自定義屬性salary,并給該屬性賦值(1700)。
function personnel(name,age){ //自定義函數(shù)
this.name = name; //給當(dāng)前函數(shù)的name屬性傳值
this.age = age; //給當(dāng)前函數(shù)的age屬性傳值
}
var information = new personnel("張*三",27); //實(shí)例化personnel()函數(shù)對(duì)象
personnel.prototype.salary = null; //向?qū)ο笾刑砑訉傩?information.salary = 1700; //向添加的屬性中賦值
console.log(information.salary); //顯示添加的屬性值
//結(jié)果:1700
salary屬性也是一個(gè)公共屬性,在Array、Date、Boolean和Number對(duì)象中都可以調(diào)用該屬性,用法與String對(duì)象相同。
3、String對(duì)象的方法
| 方法 | 說明 |
|---|---|
| anchor() | 創(chuàng)建HTML錨 |
| big() | 使用大號(hào)字體顯示字符串 |
| small() | 使用小號(hào)字體顯示字符串 |
| fontsize() | 使用指定的尺寸來顯示字符串 |
| bold() | 使用粗體顯示字符串 |
| italics() | 使用斜體顯示字符串 |
| link() | 將字符串顯示為連接 |
| strike() | 使用刪除線來顯示字符串 |
| blink() | 顯示閃動(dòng)字符串,該方法不支持IE瀏覽器 |
| fixed() | 以打字機(jī)字體顯示字符串 |
| charAt() | 返回指定位置的字符(返回的字符編碼) |
| charCodeAt() | 返回指定位置的字符(返回的字符字串) |
| concat() | 連接字符串 |
| fontcolor() | 使用指定的顏色來顯示字符串 |
| fromCharCode() | 從字符編碼創(chuàng)建一個(gè)字符串 |
| indexOf() | 檢索字符串 |
| lastIndexOf | 從后向前搜索字符串 |
| localeCompare() | 用本地特定的順序來比較兩個(gè)字符串 |
| match() | 在字符串內(nèi)檢索指定的值,或找到一個(gè)或多個(gè)與正則表達(dá)式相匹配的文本 |
| replace() | 替換與正則表達(dá)式匹配的子串 |
| search() | 檢索與正則表達(dá)式相匹配的值 |
| split() | 把字符串分割為字符串?dāng)?shù)組 |
| substr() | 從起始索引號(hào)提取字符串中指定數(shù)目的字符 |
| substring() | 提取字符串中兩個(gè)指定的索引號(hào)之間的字符 |
| slice() | 提取字符串的片段,并在新的字符串中返回被提取的部分 |
| sub() | 把字符串顯示為下標(biāo) |
| sup() | 把字符串顯示為上標(biāo) |
| toLocaleLowerCase() | 按照本地方式把字符串轉(zhuǎn)換為小寫 |
| toLocaleUpperCase() | 按照本地方式把字符串轉(zhuǎn)換為大寫 |
| toLowerCase() | 把字符串轉(zhuǎn)換為小寫 |
| toUpperCase() | 把字符串轉(zhuǎn)換為大寫 |
| toSource() | 代表對(duì)象的源代碼 |
| valueOf | 返回某個(gè)字符串對(duì)象的原始值 |
說明:String對(duì)象中的方法與屬性,字符串變量也可以使用。
