淺談js中startsWith 函數(shù)不能在任何瀏覽器兼容的問題
在做js測試的時候用到了startsWith函數(shù),但是他并不是每個瀏覽器都有的,所以我們一般要重寫一下這個函數(shù),具體的用法可以稍微總結(jié)一下
在有些瀏覽器中他是undefined 所以我們可以這樣的處理一下、
if (typeof String.prototype.startsWith != 'function') {
String.prototype.startsWith = function (prefix){
return this.slice(0, prefix.length) === prefix;
};
}
這個需要放在頁面剛要加載完成的函數(shù)里,不然不好使。
還有一種直接重寫 不過我沒測試過,你們可以測試一下:
String.prototype.startWith=function(str){
if(str==null||str==""||this.length==0||str.length>this.length)
return false;
if(this.substr(0,str.length)==str)
return true;
else
return false;
return true;
}
有的說js中沒有startsWith 和endWith這兩個函數(shù)不過就算不聲明有些瀏覽器他還是可以用的,不過為了兼容性還是希望重寫一下。
if (typeof String.prototype.endsWith != 'function') {
String.prototype.endsWith = function(suffix) {
return this.indexOf(suffix, this.length - suffix.length) !== -1;
};
}
采用正則表達式實現(xiàn)startWith、endWith效果函數(shù)
String.prototype.startWith=function(str){
var reg=new RegExp("^"+str);
return reg.test(this);
}
//測試ok,直接使用str.endWith("abc")方式調(diào)用即可
String.prototype.endWith=function(str){
var reg=new RegExp(str+"$");
return reg.test(this);
}
以上這篇淺談js中startsWith 函數(shù)不能在任何瀏覽器兼容的問題就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
javascript實現(xiàn)動態(tài)增加刪除表格行(兼容IE/FF)
javascript實現(xiàn)動態(tài)增加刪除表格行(兼容IE/FF)...2007-04-04
javascript將數(shù)字轉(zhuǎn)換整數(shù)金額大寫的方法
這篇文章主要介紹了javascript將數(shù)字轉(zhuǎn)換整數(shù)金額大寫的方法,通過自定義函數(shù)中的數(shù)組替換實現(xiàn)數(shù)字轉(zhuǎn)換整數(shù)金額大寫的功能,非常具有實用價值,需要的朋友可以參考下2015-01-01
js實現(xiàn)三張圖(文)片一起切換的banner焦點圖
這篇文章主要介紹了js實現(xiàn)三張圖(文)片一起切換的banner焦點圖,推薦給大家,有需要的小伙伴可以參考下。2015-08-08

