国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 網站 > WEB開發 > 正文

JavaScript內置對象--基本包裝類型(Boolean、Number、String)詳解

2024-04-27 15:06:18
字體:
來源:轉載
供稿:網友

一、什么是基本包裝類型?

為了便于操作基本類型值,ECMAScript還提供了3個特殊的引用類型: Boolean、Number、String。這些類型與其他內置對象類型相似,但同時具有各自的基本類型相應的特殊行為。實際上,每當讀取一個基本類型值得時候,后臺就會創建一個對應的基本包裝類型的對象,從而讓我們能夠調用一些方法來操作這些數據。包裝類型,是一個專門封裝原始類型的值,并提供對原始類型的值執行操作的API對象

二、其他內置對象與基本包裝類型對象的區別?

普通的內置對象與基本包裝類型的主要區別就是對象的生命期,使用new操作符創建的引用類型的實例,在執行流離開當前作用域之前都一直保存在內存中,而自動創建的基本包裝類型的對象,則只是存在于一行代碼的執行瞬間,然后立即被立即銷毀。這意味著我們不能再運行時為基本包裝類型值添加屬性和方法。var s1 = "some text";s1.color = "red";alert(s1.color) ;  //undefined在第二行為s1添加一個color屬性,第三行代碼執行時,再次訪問s1,結果s1的color屬性被銷毀了

Boolean類型

Boolean類型是與布爾值對應的引用類型,要創建Boolean對象,可以像下面這樣調用Boolean構造函數并傳入true或者false值。其實,Boolean對象在實際開發中用處不大,因為它很容易造成人們的誤解。其中最常見的問題就是布爾表達式中使用Boolean對象。例:var a= new Boolean(false);var b = a && true;console.log(b);    //trueb = a && true;console.log(b);  //false案例中,很多人覺得第三行代碼是false,但實際是true,因為在布爾表達式中所有對象都會轉為true,因此a在布爾表達式中代表true,true && true當然結果是true,第四行代碼就是進行普通的邏輯運算了,返回false

Number類型

Number類型是數字對應的引用類型,要創建Number對象,可以在調用Number構造函數時向其中傳遞相應的數值。Number類型的幾個方法:1.toFixed():把數字轉換為定點表示法表示的字符串,并具有指定的小數位數注意:toFixed()方法只可以表示帶有0~20個小數位數的數值。var num=10;console.log(num.toFixed(2));  //10.00var num2=10.005;console.log(num.toFixed(2));  //10.012.toExponential(): 把數字轉換為指數計數法表示的字符串,并具有指定的小數位數var num=10;console.log(num.toExponential(1));   //1.0e+1;3.toPRecision():把數字格式化為具有指定有效位的字符串var num=99;console.log(num.toPrecision(1));  //1e+2console.log(num.toPrecision(2));  //99console.log(num.toPrecision(3));  //99.04.toString():把數字轉換為指定進制(默認十進制)表示的字符串var num=10;console.log(num.toString(2));  //轉換為2進制,結果為:1010

String類型

一、字符方法1. str.charAt()  :以單字符串形式返回特定位置的那個字符var stringValue = "hello world";console.log(stringValue.charAt(1));   //e2. str.charCodeAt() : 返回特定位置的字符編碼var stringValue = "hello world";console.log(stringValue.charCodeAt(1));  //101二、字符操作方法1. str.concat() : 用于將一個或多個字符串拼接起來,返回拼接得到的新字符串var stringValue= "hello";var result=stringValue.concat("world");console.log(result);   //hello world2. str.slice()/str.substring()/str.substr() : 這個三個方法都返回操作字符串的一個子字符串,而且都接受一或兩個參數,第一個參數指定子字符串開始的位置,str.slice()與str.substring()第二個參數表示子字符串到哪里結束,如果第二個參數省略,則默認是結尾結束,str.substr() 第二個參數表示返回的字符個數var stringValue = "hello world";console.log(stringValue.slice(3));    //lo worldconsole.log(stringValue.substring(3));   //lo worldconsole.log(stringValue.substr(3));   //lo worldconsole.log(stringValue.slice(3,7));  //lo wconsole.log(stringValue.substring(3,7));  //lo wconsole.log(stringValue.substr(3,7));  //lo worl    返回字符個數7個三、字符串位置方法1. indexOf()/lastIndexOf() : 從一個字符串中搜索給定的子字符串,然后返回子字符串的位置(如果沒有找到,返回-1),這個兩個方法的區別在于: indexOf()方法從字符串的開頭向后搜索子字符串,而lastIndexOf()方法是從字符串的末尾向前搜索子字符串,然后這兩個方法可以接受第二個參數,表示從字符串中的哪個位置開始搜索。var  stringValue = "hello world";console.log(stringValue.indexOf("o"));   //4console.log(stringValue.lastIndexOf("o"));   //7console.log(stringValue.indexOf("o",6));   //7console.log(stringValue.lastIndexOf("o",6));   //7四、trim()方法1. str.trim() : 創建一個字符串的副本,刪除前置及后綴的所有空格,然后返回結果var stringValue = "   hello  world     ";var trimString = stringValue.trim();  console.log(stringValue);   //"   hello  world     "console.log(trimString);     //"hello  world"五、字符串大小寫轉換方法1. str.toLocaleUpperCase() : 將所有大寫字母轉換為小寫var stringValue =  "HELLO WORLD";var LocaleString=stringValue.toLocaleUpperCase();console.log(stringValue);  //"HELLO WORLD"console.log(LocaleString); //"hello world"2. str.toUpperCase() : 將所有小寫字母轉換為大寫var stringValue = "hello world";vae UpperString= stringValue.toUpperCase();console.log(stringValue);  //"hello world"console.log(UpperString);  //"HELLO WORLD"六、字符串的模式匹配方法1.str.search() : 這個方法用于檢索字符串中指定的子字符串,或檢索與正則表達式相匹配的子字符串,由開頭向后查找,返回字符串中第一個匹配項的索引,如果沒有找到返回-1,這個方法專用于查找關鍵詞位置。var stringValue="cat, bat, sat ,fat";var searchString = stringValue.search(/.at/);console.log(searchString); //12.str.match() : 這個方法可在字符串內檢索指定的值,或找到一個或多個與正則表達式匹配的字符,返回值是包含所有子字符串的數組,如果沒有找到,返回null嗎,這個方法專用于查找關鍵詞的內容。相應的格式有:str.match(/正則表達式/);  僅查找第一個出現關鍵詞的內容,區分大小寫str.match(/正則表達式/i);   僅查找第一個出現關鍵詞的內容,不區分大小寫str.march(/正則表達式/g);  查找所有關鍵詞的內容,區分大小寫str.march(/正則表達式/ig);  查找所有關鍵詞的內容,不區分大小寫注意:  i是忽略大小寫, g指的是全局var stringValue="cAt, bat, sAt, fat";var matchString1=stringValue.match(/.at/);var matchString2=stringValue.match(/.at/i);var matchString3=stringValue.match(/.at/g);var matchString4=stringValue.match(/.at/ig);console.log(matchString1);  //"bat"console.log(matchString2);  //"cAt"console.log(matchString3);  //"bat, fat"console.log(matchString4);  //"cAt, bat, sAt, fat"3.  str.replace() : 這個方法用于在字符串中用一些字符替換特定的字符,或替換一個與正則表達式匹配的字符,這個方法可以接受兩個參數,第一個參數是字符串或者是正則表達式,第二個參數可以是一個字符串或者一個函數,如果第一個參數是字符串,那么只會替換第一個子字符串,如果第一個參數是正則表達式,則可以替換全部子字符串,前提是指定全局(g)標志var stringValue="cat, bat, sat, fat";var replaceString1=stringValue.replace("at","ond");var replaceString2=stringValue.replace(/at/g,"ond");console.log(replaceString1);  //"cond, bat, sat ,fat"   第一個參數是字符串,所以只替換第一個子字符串console.log(replaceString2);  //"cond, bond, sond, fond"   第一個參數是/正則表達式/g,  所有替換全部子字符串七、localeCompare()方法1.  str.localeCompare(): 這個方法用來比較兩個字符串,如果字符串在字母表中應該排在字符串參數之前,則返回-1,如果等于字符串參數,則返回0,如果排在字符串參數之后,則返回1,通常與參數首字母比較var stringValue="yellow";console.log(stringValue.localeCompare("zoo"));   //排在參數之前,返回-1console.log(stringValue.localeCompare("year"));   //等于字符串參數,返回0console.log(stringValue.localeCompare("brick"));   //排在參數之后,返回1八、fromCharCode()方法1.str.fromCharCode(): 這個方法是接收一個或多個字符編碼,然后將他們轉換成字符串,從本質上看,這個方法執行的是與charCodeAt()相反的操作var stringValue = "104,101,108, 108 ,111";console.log(String.(stringValue.fromCharCode));  //"hello"九、HTML方法早期的Web瀏覽器提供商差距了使用JS動態格式化HTML的需求,于是這些提供商就擴展了這些標準,實現了一些專門用于簡化常見HTML格式化任務的方法。不過,需要注意的是,盡量不要使用這些方法,因為他們創建的標記通常無法表達語義anchor(name)big()bold()fixed()fontcolor(color)fontsize(size)italics()link(url)small()strike()sub()sup()由于這些方法不經常使用,我就不一一列舉了,感興趣的同學可以自行學習。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 晴隆县| 婺源县| 平武县| 运城市| 油尖旺区| 名山县| 眉山市| 温州市| 宕昌县| 银川市| 辽中县| 梁山县| 伊宁市| 法库县| 黄大仙区| 华坪县| 宣汉县| 上杭县| 嘉荫县| 凌海市| 徐水县| 河池市| 黄山市| 阿拉尔市| 永顺县| 寻甸| 固安县| 弥渡县| 延庆县| 剑河县| 绵阳市| 宁都县| 凤凰县| 泌阳县| 西峡县| 塔河县| 胶南市| 昭通市| 汾西县| 泰和县| 泰和县|