基礎包裝範例

基礎包裝範例

3個特別的援用範例:BooleanNumberString

var box = "Mr. Lee";        //基礎範例
alert(box.substring(2));    //打印 . Lee
//對象.要領(參數)這類寫法顯著是援用範例寫法
//索引0最先,從第二個位置最先最先截取到末端
//是基礎範例,但又是特別的援用範例,叫做基礎包裝範例
//由於它能夠挪用體系內置的要領

援用範例與基礎包裝範例的重要區分就是對象的生存期。

為何基礎範例不能增添屬性?
緣由:運用new操作符建立的援用範例實例,在實行流脫離當前作用域之前都一向保存在內存中。而自動建立的基礎包裝範例的對象,則只存在於一行代碼的實行霎時,然後馬上燒毀。這意味着我們不能在運行時為基礎範例值增添屬性和要領。
基礎包裝範例沒法給自身建立屬性和要領,然則能夠挪用體系內置的屬性和要領。

對基礎包裝範例的實例挪用typeof會返回object,而且一切基礎包裝範例的對象在轉換為布爾範例時價都是true
運用new挪用基礎包裝範例的組織函數,與直接挪用同名的轉型函數是不一樣的。

var value = "25";
var number = Number(value);        //轉型函數
aleat(typeof number);            //"number"

var obj = new Number(value);    //組織函數
aleat(typeof obj);                //"object"

Number範例

Number範例有一些靜態屬性(直接經由過程Number挪用的屬性,而無須new運算符)和方
法。
Number靜態屬性

屬性形貌
MAX_VALUE示意最大數
MIN_VALUE示意最小值
NaN非數值
NEGATIVE_INFINITY負無窮大,溢出返回該值
POSITIVE_INFINITY無窮大,溢出返回該值
prototype原型,用於增添新屬性和要領

例:

var box = 100;
alert(box.MAX_VALUE);        //沒有這類寫法,這類寫法叫做屬性
alert(Number.MAX_VALUE);    //這類寫法(範例.屬性)叫做靜態屬性

Number對象的要領

要領形貌
toString()將數值轉化為字符串,而且能夠轉換進制
toLocaleString()依據當地数字花樣轉換為字符串
toFixed()將数字保存小數點后指定位數並轉化為字符串
toExponential()將数字以指數情勢示意,保存小數點后指定位數並轉化為字符串
toPrecision()指數情勢或點情勢表述數,保存小數點背面指定位數並轉字符串

String範例

String範例包含了三個屬性和大批的可用內置要領。

String對象屬性

屬性形貌
length返回字符串的字符長度
constructor返回建立String對象的函數
prototype經由過程增添屬性和要領擴大字符串定義

例:

var box = "Mr. Lee";
alert(box.constructor);    //打印:ƒ String() { [native code] }

字符串要領

要領形貌
charAt(n)返回指定索引位置的字符
charCodeAt(n)Unicode編碼情勢返回指定索引位置的字符
fromCharCode(ascii)靜態要領,輸出Ascii碼對應值

例:

var box = "Mr. Lee";
alert(box.charAt(1));            //打印r,即是box[1]
alert(box.charCodeAt(4));        //打印76
要領形貌
concat()拼接字符串
slice(n,m)返回字符串nm之間位置的字符串,[n,m)
substring(n,m)同上
substr(n,m)返回字符串n最先的m個字母

slice()`substring()2`個參數指定的是字符串中末了一個字符的位置。
substr()2個參數是返回字符的個數。
相同點:假如沒有第2個參數,則一向獵取到末了。他們不會轉變字符串自身的值。
例:

var box = "Mr. Lee";
alert(box.concat(" is ","teacher!"));//字符串拼接,打印:Mr. Lee is teacher!
alert(box.slice(4,6));        //截取字符串[4,6),打印:Le
alert(box.substring(4,6));    //截取字符串[4,6),打印:Le
alert(box.substr(4,2));        //從索引4位置截取2個字符,打印:Le
alert(box.slice(4));        //假如沒有第2個參數,則一向獵取到末了一名,打印:Lee
alert(box.substring(4));    //假如沒有第2個參數,則一向獵取到末了一名,打印:Lee
alert(box.substr(4));        //假如沒有第2個參數,則一向獵取到末了一名,打印:Lee
alert(box.slice(-2));        //7+(-2)=5,從索引5位置最先到末了,打印:ee
alert(box.substring(-2));    //參數為負數,則返回悉数字符串,打印:Mr. Lee
alert(box.substr(-2));        //7+(-2)=5,從索引5位置最先到末了,打印:ee
alert(box.slice(2,-1));        //7+(-1)=6,[2,6),打印:. Le
alert(box.substring(2,-1));    //假如參數為負數,直接0;假如第2個參數比第1個小,那末第2個參數提早,[0,2),打印:Mr
alert(box.substr(2,-1));    //第2個參數為負數,直接0,[2,0),空,打印:空
要領形貌
indexOf(str,n)從初始位置搜刮n1次湧現的位置,並將搜刮的索引值返回
lastIndexOf(str,n)從末端位置搜刮n1次湧現的位置,並將搜刮的索引值返回

例:

var box = "Mr. Lee is Lee";
alert(box.indexOf('L'));        //從初始位置搜刮L第一次湧現的位置,打印:4
alert(box.lastIndexOf('L'));    //從末端位置搜刮L第一次湧現的位置,打印:11
alert(box.indexOf('L',5));        //從索引5位置向後搜刮L第一次湧現的位置,打印:11
alert(box.lastIndexOf('L',5));    //從索引5位置向前搜刮L第一次湧現的位置,打印:4
alert(box.indexOf(-1));            //找不到,打印:-1

indexOf運用實例:

var box = "Lorem ipsum dolor sit amet,consectetur adipisicing elit";
var postion = new Array();
var pos = box.indexOf("e");
while(pos > -1){            //pos>-1,申明找到字符串
    postion.push(pos);        // 用push推入數組
    pos = box.indexOf("e", pos + 1);    //pos+1,從e后一個位置在最先尋覓。
}
alert(postion);            //打印:3,24,31,34,51

字符串的形式婚配要領

要領形貌
match(pattern)返回pattern中的子串或null
replace(pattern, replacement)replacement替代pattern
search(pattern)返回字符串中pattern最先位置
split(pattern)返回字符串按指定pattern拆分的數組

例:

var box = 'Mr.Lee is Lee';
alert(box.match('L')); //找到L,打印:L 不然打印:null
alert(box.search('L')); //找到L的位置,打印:3
alert(box.replace('L', 'Q')); //把L替代成Q,打印:Mr.Qee is Lee
alert(box.split(' ')); //以空格分割成字符串,打印:Mr.Lee,is,Lee

localeCompare()要領,比較兩個字符串,並返回以下值中一個:

  1. 假如比較的字符串首字母比變量的首字母排在前,返回1
  2. 假如比較的字符串首字母和變量的首字母排相稱,返回0
  3. 假如比較的字符串首字母比變量的首字母排在後,返回-1

例:

var box = "yellow";
alert(box.localeCompare("brick"));    //打印:1
alert(box.localeCompare("yellow"));    //打印:0
alert(box.localeCompare("zoo"));    //打印:-1
    原文作者:UCCs
    原文地址: https://segmentfault.com/a/1190000014524206
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞