『總結(jié)』JS常用方法與片段

1. javascript刪除元素節(jié)點(diǎn)

IE中有這樣一個(gè)方法:removeNode()族壳,這個(gè)方法在IE下是好使的徒溪,但是在Firefox等標(biāo)準(zhǔn)瀏覽器中就會(huì)報(bào)錯(cuò)了 removeNode is not defined忿偷,但是在核心JS中有一個(gè)操作DOM節(jié)點(diǎn)的方法叫:removeChild()

我們可以先去找到要?jiǎng)h除節(jié)點(diǎn)的父節(jié)點(diǎn)臊泌,然后在父節(jié)點(diǎn)中運(yùn)用removeChild來(lái)移除我們想移除的節(jié)點(diǎn)鲤桥。我們可以定義一個(gè)方法叫

removeElement:

function removeElement(_element){
         var _parentElement = _element.parentNode;
         if(_parentElement){
                _parentElement.removeChild(_element); 
         }
}

2. js sort方法根據(jù)數(shù)組中對(duì)象的某一個(gè)屬性值進(jìn)行升序或者降序排列

/**數(shù)組根據(jù)數(shù)組對(duì)象中的某個(gè)屬性值進(jìn)行排序的方法 
     * 使用例子:newArray.sort(sortBy('number'),false) //表示根據(jù)number屬性降序排列;若第二個(gè)參數(shù)不傳遞,默認(rèn)表示升序排序
     * @param attr 排序的屬性 如number屬性
     * @param rev true表示升序排列渠概,false降序排序
     * */
    sortBy: function(attr,rev){
        //第二個(gè)參數(shù)沒有傳遞 默認(rèn)升序排列
        if(rev ==  undefined){
            rev = 1;
        }else{
            rev = (rev) ? 1 : -1;
        }
        return function(a,b){
            a = a[attr];
            b = b[attr];
            if(a < b){
                return rev * -1;
            }
            if(a > b){
                return rev * 1;
            }
            return 0;
        }
    }

3. charCodeAt()

用法:charCodeAt()方法可返回指定位置的字符的 Unicode 編碼茶凳。這個(gè)返回值是 0 - 65535 之間的整數(shù)
語(yǔ)法:stringObject.charCodeAt(index)
index參數(shù)必填,表示字符串中某個(gè)位置的數(shù)字播揪,即字符在字符串中的下標(biāo)贮喧。
注:字符串中第一個(gè)字符的下標(biāo)是 0。如果 index 是負(fù)數(shù)猪狈,或大于等于字符串的長(zhǎng)度箱沦,則 charCodeAt() 返回 NaN
例如:

var str="Hello world!"
document.write(str.charCodeAt(1))
//結(jié)果:101

4. js 頁(yè)面刷新location.reloadlocation.replace的區(qū)別小結(jié)

reload 方法雇庙,該方法強(qiáng)迫瀏覽器刷新當(dāng)前頁(yè)面谓形。
語(yǔ)法:location.reload([bForceGet])
參數(shù): bForceGet, 可選參數(shù)疆前, 默認(rèn)為 false寒跳,從客戶端緩存里取當(dāng)前頁(yè)。true, 則以 GET 方式竹椒,從服務(wù)端取最新的頁(yè)面, 相當(dāng)于客戶端點(diǎn)擊 F5(“刷新”)

replace 方法童太,該方法通過(guò)指定URL替換當(dāng)前緩存在歷史里(客戶端)的項(xiàng)目,因此當(dāng)使用replace方法之后胸完,你不能通過(guò)“前進(jìn)”和“后退”來(lái)訪問(wèn)已經(jīng)被替換的URL书释。
語(yǔ)法:location.replace(URL)

在實(shí)際應(yīng)用的時(shí)候,重新刷新頁(yè)面的時(shí)候舶吗,我們通常使用: location.reload()或者是history.go(0)來(lái)做征冷。因?yàn)檫@種做法就像是客戶端點(diǎn)F5刷新頁(yè)面择膝,所以頁(yè)面的method=”post”的時(shí)候誓琼,會(huì)出現(xiàn)“網(wǎng)頁(yè)過(guò)期”的提示。那是因?yàn)镾ession的安全保護(hù)機(jī)制「孤拢可以想到: 當(dāng)調(diào)用 location.reload() 方法的時(shí)候叔收, aspx頁(yè)面此時(shí)在服務(wù)端內(nèi)存里已經(jīng)存在, 因此必定是 IsPostback 的傲隶。如果有這種應(yīng)用: 我們需要重新加載該頁(yè)面饺律,也就是說(shuō)我們期望頁(yè)面能夠在服務(wù)端重新被創(chuàng)建, 我們期望是 Not IsPostback 的跺株。這里复濒,location.replace() 就可以完成此任務(wù)。被replace的頁(yè)面每次都在服務(wù)端重新生成乒省。你可以這么寫: location.replace(location.href)

5. isFinite函數(shù)

isFinite函數(shù)返回一個(gè)布爾值巧颈,檢查某個(gè)值是不是正常數(shù)值,而不是Infinity袖扛。

isFinite(Infinity) // false
isFinite(-1) // true
isFinite(true) // true
isFinite(NaN) // false

6. parseInt()

parseInt方法用于將字符串轉(zhuǎn)為整數(shù)砸泛。

parseInt('123') // 123
如果parseInt的參數(shù)不是字符串,則會(huì)先轉(zhuǎn)為字符串再轉(zhuǎn)換蛆封。
如果字符串頭部有空格唇礁,空格會(huì)被自動(dòng)去除。
字符串轉(zhuǎn)為整數(shù)的時(shí)候惨篱,是一個(gè)個(gè)字符依次轉(zhuǎn)換盏筐,如果遇到不能轉(zhuǎn)為數(shù)字的字符,就不再進(jìn)行下去妒蛇,返回已經(jīng)轉(zhuǎn)好的部分机断。

parseInt('8a') // 8
parseInt('12**') // 12
parseInt('12.34') // 12
parseInt('15e2') // 15
parseInt('15px') // 15

面代碼中,parseInt的參數(shù)都是字符串绣夺,結(jié)果只返回字符串頭部可以轉(zhuǎn)為數(shù)字的部分吏奸。
如果字符串的第一個(gè)字符不能轉(zhuǎn)化為數(shù)字(后面跟著數(shù)字的正負(fù)號(hào)除外),返回NaN陶耍。

parseInt('abc') // NaN
parseInt('.3') // NaN
parseInt('') // NaN
parseInt('+') // NaN
parseInt('+1') // 1
parseInt的返回值只有兩種可能奋蔚,不是一個(gè)十進(jìn)制整數(shù),就是NaN烈钞。

parseInt方法還可以接受第二個(gè)參數(shù)(2到36之間)泊碑,表示被解析的值的進(jìn)制,返回該值對(duì)應(yīng)的十進(jìn)制數(shù)毯欣。默認(rèn)情況下馒过,parseInt的第二個(gè)參數(shù)為10,即默認(rèn)是十進(jìn)制轉(zhuǎn)十進(jìn)制酗钞。

parseInt('1000', 2) // 8
parseInt('1000', 6) // 216
parseInt('1000', 8) // 512

面代碼中腹忽,二進(jìn)制来累、六進(jìn)制、八進(jìn)制的1000窘奏,分別等于十進(jìn)制的8嘹锁、216和512。這意味著着裹,可以用parseInt方法進(jìn)行進(jìn)制的轉(zhuǎn)換领猾。

如果第二個(gè)參數(shù)不是數(shù)值,會(huì)被自動(dòng)轉(zhuǎn)為一個(gè)整數(shù)骇扇。這個(gè)整數(shù)只有在2到36之間摔竿,才能得到有意義的結(jié)果,超出這個(gè)范圍少孝,則返回NaN拯坟。如果第二個(gè)參數(shù)是0、undefined和null韭山,則直接忽略郁季。

parseInt('10', 37) // NaN
parseInt('10', 1) // NaN
parseInt('10', 0) // 10
parseInt('10', null) // 10
parseInt('10', undefined) // 10

如果字符串包含對(duì)于指定進(jìn)制無(wú)意義的字符,則從最高位開始钱磅,只返回可以轉(zhuǎn)換的數(shù)值梦裂。如果最高位無(wú)法轉(zhuǎn)換,則直接返回NaN盖淡。

parseInt('1546', 2) // 1
parseInt('546', 2) // NaN

上面代碼中年柠,對(duì)于二進(jìn)制來(lái)說(shuō),1是有意義的字符褪迟,5冗恨、4、6都是無(wú)意義的字符味赃,所以第一行返回1掀抹,第二行返回NaN。

7. parseFloat()

parseFloat方法用于將一個(gè)字符串轉(zhuǎn)為浮點(diǎn)數(shù)心俗。

parseFloat('3.14') // 3.14
如果字符串符合科學(xué)計(jì)數(shù)法傲武,則會(huì)進(jìn)行相應(yīng)的轉(zhuǎn)換。

parseFloat('314e-2') // 3.14
parseFloat('0.0314E+2') // 3.14

如果字符串包含不能轉(zhuǎn)為浮點(diǎn)數(shù)的字符城榛,則不再進(jìn)行往后轉(zhuǎn)換揪利,返回已經(jīng)轉(zhuǎn)好的部分。

parseFloat('3.14more non-digit characters') // 3.14
parseFloat方法會(huì)自動(dòng)過(guò)濾字符串前導(dǎo)的空格狠持。
parseFloat('\t\v\r12.34\n ') // 12.34

如果參數(shù)不是字符串疟位,或者字符串的第一個(gè)字符不能轉(zhuǎn)化為浮點(diǎn)數(shù),則返回NaN喘垂。

parseFloat([]) // NaN
parseFloat('FF2') // NaN
parseFloat('') // NaN
面代碼中甜刻,尤其值得注意敢订,parseFloat會(huì)將空字符串轉(zhuǎn)為NaN。

這些特點(diǎn)使得parseFloat的轉(zhuǎn)換結(jié)果不同于Number函數(shù)罢吃。

parseFloat(true)  // NaN
Number(true) // 1
parseFloat(null) // NaN
Number(null) // 0
parseFloat('') // NaN
Number('') // 0
parseFloat('123.45#') // 123.45
Number('123.45#') // NaN

8. charAt()

charAt()方法可返回指定位置的字符。
請(qǐng)注意昭齐,JavaScript 并沒有一種有別于字符串類型的字符數(shù)據(jù)類型尿招,所以返回的字符是長(zhǎng)度為 1 的字符串。

語(yǔ)法:stringObject.charAt(index)

注釋:字符串中第一個(gè)字符的下標(biāo)是 0阱驾。如果參數(shù) index 不在 0 與 string.length之間就谜,該方法將返回一個(gè)空字符串。
例子里覆,在字符串 “Hello world!” 中丧荐,我們將返回位置 1 的字符:

var str="Hello world!"
document.write(str.charAt(1)) //e

9. toFixed()

var a=2.1512131231231321;  
console.log(a.toFixed(2)); //2.15

10. join()

join()方法用于把數(shù)組中的所有元素放入一個(gè)字符串。元素是通過(guò)指定的分隔符進(jìn)行分隔的喧枷。
語(yǔ)法:
arrayObject.join(separator) //separator:可選虹统。指定要使用的分隔符。如果省略該參數(shù)隧甚,則使用逗號(hào)作為分隔符车荔。
注意:返回的是一個(gè)字符串。
例如:

var arr = new Array(3)
arr[0] = "George"
arr[1] = "John"
arr[2] = "Thomas"
document.write(arr.join("."))
輸出:George.John.Thomas

11. split()

語(yǔ)法:stringObject.split(separator,howmany)

separator:必需戚扳。字符串或正則表達(dá)式忧便,從該參數(shù)指定的地方分割 stringObject

howmany:可選帽借。該參數(shù)可指定返回的數(shù)組的最大長(zhǎng)度珠增。如果設(shè)置了該參數(shù),返回的子串不會(huì)多于這個(gè)參數(shù)指定的數(shù)組砍艾。如果沒有設(shè)置該參數(shù)蒂教,整個(gè)字符串都會(huì)被分割,不考慮它的長(zhǎng)度脆荷。

返回值:一個(gè)字符串?dāng)?shù)組悴品,String.split() 執(zhí)行的操作與Array.join()執(zhí)行的操作是相反的。

"2:3:4:5".split(":")    //將返回["2", "3", "4", "5"]
"|a|b|c".split("|")    //將返回["", "a", "b", "c"]

如果您希望把單詞分割為字母简烘,或者把字符串分割為字符苔严,可使用下面的代碼:

"hello".split("")    //可返回 ["h", "e", "l", "l", "o"]
若只需要返回一部分字符,請(qǐng)使用 howmany 參數(shù):
"hello".split("", 3)    //可返回 ["h", "e", "l"]

12. indexOf()

indexOf()方法可返回某個(gè)指定的字符串值在字符串中首次出現(xiàn)的位置孤澎。
語(yǔ)法:stringObject.indexOf(searchvalue,fromindex)
searchvalue:必需届氢。規(guī)定需檢索的字符串值。
fromindex:可選的整數(shù)參數(shù)覆旭。規(guī)定在字符串中開始檢索的位置退子。它的合法取值是 0 到 stringObject.length - 1岖妄。如省略該參數(shù),則將從字符串的首字符開始檢索寂祥。

indexOf()方法對(duì)大小寫敏感荐虐!
如果要檢索的字符串值沒有出現(xiàn),則該方法返回 -1丸凭。

var str="Hello world!"
document.write(str.indexOf("Hello") + "<br />")
document.write(str.indexOf("World") + "<br />")
document.write(str.indexOf("world"))
輸出:0 -1 6

操作DOM也可能用上:

var elems=node.getElementsByTagName("*");

13. lastIndexOf()

lastIndexOf() 方法可返回一個(gè)指定的字符串值最后出現(xiàn)的位置福扬,在一個(gè)字符串中的指定位置從后向前搜索。
語(yǔ)法:stringObject.lastIndexOf(searchvalue,fromindex)

searchvalue:必需惜犀。規(guī)定需檢索的字符串值铛碑。

fromindex:可選的整數(shù)參數(shù)。規(guī)定在字符串中開始檢索的位置虽界。它的合法取值是 0 到 stringObject.length - 1汽烦。如省略該參數(shù),則將從字符串的最后一個(gè)字符處開始檢索莉御。

lastIndexOf() 方法對(duì)大小寫敏感撇吞! 
如果要檢索的字符串值沒有出現(xiàn),則該方法返回 -1礁叔。
var str="Hello world world!"
console.log(str.lastIndexOf("Hello")); //0
console.log(str.lastIndexOf("World")); //-1
console.log(str.lastIndexOf("world")); //12
console.log(str.lastIndexOf("world",9)); //6

14. call()apply()

語(yǔ)法:obj1.method1.call(obj2,argument1,argument2)
如上梢夯,call的作用就是把obj1的方法放到obj2上使用,后面的argument1..這些做為參數(shù)傳入.
例子:

function add(a,b){
    alert(a+b);
}
function sub(a,b){
    alert(a-b);
}
add.call(sub,3,1); //4

這個(gè)例子中的意思就是用 add 來(lái)替換 sub晴圾,add.call(sub,3,1) == add(3,1)颂砸,所以運(yùn)行結(jié)果為:alert(4);

看一個(gè)稍微復(fù)雜一點(diǎn)的例子:

function Class1(){
    this.name = "class1";
    this.showNam = function(){
       alert(this.name);
    }
}
function Class2(){
   this.name = "class2";
}
var c1 = new Class1();
var c2 = new Class2();
c1.showNam.call(c2); //class2

注意,call 的意思是把 c1 的方法放到c2上執(zhí)行死姚,原來(lái)c2是沒有showNam() 方法人乓,現(xiàn)在是把c1 的showNam()方法放到 c2 上來(lái)執(zhí)行,所以this.name 應(yīng)該是 class2都毒,執(zhí)行的結(jié)果就是 :alert(”class2”);

怎么樣色罚,覺得有意思了吧,可以讓a對(duì)象來(lái)執(zhí)行b對(duì)象的方法账劲,這是java程序員所不敢想的戳护。還有更有趣的,可以用 call 來(lái)實(shí)現(xiàn)繼承

function Class1(){
    this.showTxt = function(txt){
       alert(txt);
    }
}
function Class2(){
   Class1.call(this);
}
var c2 = new Class2();
c2.showTxt("cc");

這樣 Class2 就繼承Class1了瀑焦,Class1.call(this) 的 意思就是使用 Class1 對(duì)象代替this對(duì)象腌且,那么 Class2 中不就有Class1 的所有屬性和方法了嗎,c2 對(duì)象就能夠直接調(diào)用Class1 的方法以及屬性了榛瓮,執(zhí)行結(jié)果就是:alert(“cc”);

對(duì)的铺董,就是這樣,這就是 javaScript 如何來(lái)模擬面向?qū)ο笾械睦^承的禀晓,還可以實(shí)現(xiàn)多重繼承精续。

function Class10(){
    this.showSub = function(a,b){
       alert(a-b);
    }
}
function Class11(){
    this.showAdd = function(a,b){
        alert(a+b);
    }
}
function Class2(){
   Class10.call(this);
   Class11.call(this);
} 

很簡(jiǎn)單坝锰,使用兩個(gè) call 就實(shí)現(xiàn)多重繼承了
當(dāng)然,js的繼承還有其他方法重付,例如使用原型鏈顷级,這個(gè)不屬于本文的范疇,只是在此說(shuō)明call 的用法
說(shuō)了call 确垫,當(dāng)然還有apply弓颈,這兩個(gè)方法基本上是一個(gè)意思
區(qū)別在于 call 的第二個(gè)參數(shù)可以是任意類型,而apply的第二個(gè)參數(shù)必須是數(shù)組森爽。

15. substring()

substring() 方法用于提取字符串中介于兩個(gè)指定下標(biāo)之間的字符。
語(yǔ)法:stringObject.substring(start,stop)

start:必需嚣镜。一個(gè)非負(fù)的整數(shù)爬迟,規(guī)定要提取的子串的第一個(gè)字符在 stringObject 中的位置。

stop:可選菊匿。一個(gè)非負(fù)的整數(shù)付呕,比要提取的子串的最后一個(gè)字符在 stringObject 中的位置多 1。如果省略該參數(shù)跌捆,那么返回的子串會(huì)一直到字符串的結(jié)尾徽职。

返回值:一個(gè)新的字符串,該字符串值包含 stringObject的一個(gè)子字符串佩厚,其內(nèi)容是從 start 處到 stop-1 處的所有字符姆钉,其長(zhǎng)度為 stop 減 start。

1.substring()方法返回的子串包括 start 處的字符抄瓦,但不包括 stop 處的字符潮瓶。 
2.如果參數(shù) start 與 stop 相等,那么該方法返回的就是一個(gè)空串(即長(zhǎng)度為 0 的字符串)钙姊。如果 start 比 stop 大毯辅,那么該方法在提取子串之前會(huì)先交換這兩個(gè)參數(shù)。 
3.與 slice()和 substr()方法不同的是煞额,substring() 不接受負(fù)的參數(shù)思恐。
var str="Hello world!"
console.log(str.substring(3)); //lo world!
console.log(str.substring(3,7));//lo w

16. toString()

toString()方法可把一個(gè)邏輯值轉(zhuǎn)換為字符串,并返回結(jié)果膊毁。

javascript中的toString()方法胀莹,主要用于Array、Boolean婚温、Date嗜逻、Error、Function缭召、Number等對(duì)象栈顷。

(1)Array.toString():將數(shù)組轉(zhuǎn)換成一個(gè)字符串逆日,并且返回這個(gè)字符串。

描述:當(dāng)數(shù)組用于字符串環(huán)境中時(shí)萄凤,javascript會(huì)調(diào)用這一方法將數(shù)組自動(dòng)轉(zhuǎn)換成一個(gè)字符串室抽。toString()在把數(shù)組轉(zhuǎn)換成字符串時(shí),首先要將數(shù)組的每個(gè)元素都轉(zhuǎn)換成字符串(通過(guò)調(diào)用這些元素的toString方法)靡努。當(dāng)每個(gè)元素都被轉(zhuǎn)換成字符串時(shí)坪圾,它就以列表的形式輸出這些字符串,字符串之間用逗號(hào)分隔惑朦。返回值與沒有參數(shù)的jion()方法返回的字符串相同兽泄。

例如:

var arr = ['php','mysql','apache'];
console.log(arr.join()); //php,mysql,apache
console.log(arr.toString());//php,mysql,apache

(2)Boolean.toString():將布爾值轉(zhuǎn)換為字符串。

描述:根據(jù)原始布爾值或者Boolean對(duì)象的值返回字符串“true”或“false”漾月。

例如:

var b = new Boolean();//boolean對(duì)象默認(rèn)值為false
console.log(b.toString()); //false
console.log(("chia" == "chia").toString());//true

(3)Date.toString():將Date對(duì)象轉(zhuǎn)換成一個(gè)字符串病梢,采用本地時(shí)間。

var today = new Date();
console.log(today);//Tue Mar 28 2017 09:16:27 GMT+0800 (中國(guó)標(biāo)準(zhǔn)時(shí)間)
console.log(today.toString());//Tue Mar 28 2017 09:16:27 GMT+0800 (中國(guó)標(biāo)準(zhǔn)時(shí)間)
console.log(today.toLocaleString());//2017/3/28 上午9:16:27

注意toLocaleString()是返回采用地方日期使用地方日期格式的規(guī)范的字符串梁肿。
(4)Error.toString():將Error對(duì)象轉(zhuǎn)換成字符串

描述:實(shí)現(xiàn)定義的字符串蜓陌。ECMAScript標(biāo)準(zhǔn)除了規(guī)定該方法的返回值是字符串外,沒有再做其他規(guī)定吩蔑。尤其是钮热,它不要求返回的字符傳包含錯(cuò)誤名和錯(cuò)誤信息。

(5)Function.toString():把函數(shù)轉(zhuǎn)換成字符串

描述:可以以一種與實(shí)現(xiàn)相關(guān)的方法將函數(shù)轉(zhuǎn)換成字符串烛芬。在大多數(shù)的實(shí)現(xiàn)中隧期,例如ie和firefox,它返回Function關(guān)鍵字赘娄、參數(shù)列表厌秒、函數(shù)體部分。

function add(a,b){
    var a,b,c;
    c = a + b;
    return c;
}
console.log(add.toString()); 
結(jié)果:

function add(a,b){
    var a,b,c;
    c = a + b;
    return c;
}

(6)Number.toString():將數(shù)字轉(zhuǎn)換為字符串擅憔。用它的參數(shù)指定的基數(shù)或底數(shù)(底數(shù)范圍為2-36)鸵闪。如果省略參數(shù),則使用基數(shù)10暑诸。當(dāng)參數(shù)值為2時(shí)蚌讼,返回二進(jìn)制數(shù)。

var a = 34;
console.log(a.toString());//34
console.log(a.toString(2));//100010
console.log(a.toString(8));//42
console.log(a.toString(16));//22

17. fromCharCode()

fromCharCode() 可接受一個(gè)指定的 Unicode 值个榕,然后返回一個(gè)字符串篡石。
語(yǔ)法:String.fromCharCode(numX,numX,...,numX)
numX:必需。一個(gè)或多個(gè) Unicode 值西采,即要?jiǎng)?chuàng)建的字符串中的字符的 Unicode 編碼凰萨。
注釋:該方法是 String 的靜態(tài)方法,字符串中的每個(gè)字符都由單獨(dú)的數(shù)字 Unicode 編碼指定。
它不能作為您已創(chuàng)建的 String 對(duì)象的方法來(lái)使用胖眷。因此它的語(yǔ)法應(yīng)該是 String.fromCharCode()武通,而不是 myStringObject.fromCharCode()
例如珊搀,我們將根據(jù) Unicode 來(lái)輸出 “HELLO” 和 “ABC”:

document.write(String.fromCharCode(72,69,76,76,79))
document.write("<br />")
document.write(String.fromCharCode(65,66,67))

18. substr() 方法

substr() 方法可在字符串中抽取從 start 下標(biāo)開始的指定數(shù)目的字符冶忱。
語(yǔ)法:stringObject.substr(start,length)

參數(shù) 描述
start 必需。要抽取的子串的起始下標(biāo)境析。必須是數(shù)值囚枪。如果是負(fù)數(shù),那么該參數(shù)聲明從字符串的尾部開始算起的位置劳淆。也就是說(shuō)链沼,-1 指字符串中最后一個(gè)字符,-2 指倒數(shù)第二個(gè)字符沛鸵,以此類推括勺。
length可選。子串中的字符數(shù)谒臼。必須是數(shù)值朝刊。如果省略了該參數(shù)耀里,那么返回從stringObject 的開始位置到結(jié)尾的字串蜈缤。
返回值

一個(gè)新的字符串,包含從stringObject的 start(包括 start 所指的字符) 處開始的length個(gè)字符冯挎。如果沒有指定length底哥,那么返回的字符串包含從 start 到stringObject 的結(jié)尾的字符。
提示和注釋
注釋:substr()的參數(shù)指定的是子串的開始位置和長(zhǎng)度房官,因此它可以替代substring()slice()來(lái)使用趾徽。

重要事項(xiàng):ECMAscript 沒有對(duì)該方法進(jìn)行標(biāo)準(zhǔn)化,因此反對(duì)使用它翰守。

重要事項(xiàng):在 IE 4 中孵奶,參數(shù) start 的值無(wú)效。在這個(gè) BUG 中蜡峰,start 規(guī)定的是第 0 個(gè)字符的位置了袁。在之后的版本中,此 BUG 已被修正湿颅。

var str="Hello world!"
document.write(str.substr(3,7))   // lo world
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末载绿,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子油航,更是在濱河造成了極大的恐慌崭庸,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,548評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異怕享,居然都是意外死亡执赡,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,497評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門熬粗,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)搀玖,“玉大人,你說(shuō)我怎么就攤上這事驻呐」嘧纾” “怎么了?”我有些...
    開封第一講書人閱讀 167,990評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵含末,是天一觀的道長(zhǎng)猜拾。 經(jīng)常有香客問(wèn)我,道長(zhǎng)佣盒,這世上最難降的妖魔是什么挎袜? 我笑而不...
    開封第一講書人閱讀 59,618評(píng)論 1 296
  • 正文 為了忘掉前任,我火速辦了婚禮肥惭,結(jié)果婚禮上盯仪,老公的妹妹穿的比我還像新娘。我一直安慰自己蜜葱,他們只是感情好全景,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,618評(píng)論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著牵囤,像睡著了一般爸黄。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上揭鳞,一...
    開封第一講書人閱讀 52,246評(píng)論 1 308
  • 那天炕贵,我揣著相機(jī)與錄音,去河邊找鬼野崇。 笑死称开,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的乓梨。 我是一名探鬼主播鳖轰,決...
    沈念sama閱讀 40,819評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼督禽!你這毒婦竟也來(lái)了脆霎?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,725評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤狈惫,失蹤者是張志新(化名)和其女友劉穎睛蛛,沒想到半個(gè)月后鹦马,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,268評(píng)論 1 320
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡忆肾,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,356評(píng)論 3 340
  • 正文 我和宋清朗相戀三年荸频,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片客冈。...
    茶點(diǎn)故事閱讀 40,488評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡旭从,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出场仲,到底是詐尸還是另有隱情和悦,我是刑警寧澤,帶...
    沈念sama閱讀 36,181評(píng)論 5 350
  • 正文 年R本政府宣布渠缕,位于F島的核電站鸽素,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏亦鳞。R本人自食惡果不足惜馍忽,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,862評(píng)論 3 333
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望燕差。 院中可真熱鬧遭笋,春花似錦、人聲如沸徒探。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,331評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)刹帕。三九已至吵血,卻和暖如春谎替,著一層夾襖步出監(jiān)牢的瞬間偷溺,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,445評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工钱贯, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留挫掏,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,897評(píng)論 3 376
  • 正文 我出身青樓秩命,卻偏偏與公主長(zhǎng)得像尉共,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子弃锐,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,500評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容