淺談js中startsWith 函數(shù)不能在任何瀏覽器兼容的問(wèn)題
在做js測(cè)試的時(shí)候用到了startsWith函數(shù),但是他并不是每個(gè)瀏覽器都有的,所以我們一般要重寫一下這個(gè)函數(shù),具體的用法可以稍微總結(jié)一下
在有些瀏覽器中他是undefined 所以我們可以這樣的處理一下、
if (typeof String.prototype.startsWith != 'function') {
String.prototype.startsWith = function (prefix){
return this.slice(0, prefix.length) === prefix;
};
}
這個(gè)需要放在頁(yè)面剛要加載完成的函數(shù)里,不然不好使。
還有一種直接重寫 不過(guò)我沒(méi)測(cè)試過(guò),你們可以測(cè)試一下:
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;
}
有的說(shuō)js中沒(méi)有startsWith 和endWith這兩個(gè)函數(shù)不過(guò)就算不聲明有些瀏覽器他還是可以用的,不過(guò)為了兼容性還是希望重寫一下。
if (typeof String.prototype.endsWith != 'function') {
String.prototype.endsWith = function(suffix) {
return this.indexOf(suffix, this.length - suffix.length) !== -1;
};
}
采用正則表達(dá)式實(shí)現(xiàn)startWith、endWith效果函數(shù)
String.prototype.startWith=function(str){
var reg=new RegExp("^"+str);
return reg.test(this);
}
//測(cè)試ok,直接使用str.endWith("abc")方式調(diào)用即可
String.prototype.endWith=function(str){
var reg=new RegExp(str+"$");
return reg.test(this);
}
以上這篇淺談js中startsWith 函數(shù)不能在任何瀏覽器兼容的問(wèn)題就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
JS實(shí)現(xiàn)求字符串中出現(xiàn)最多次數(shù)的字符和次數(shù)示例
這篇文章主要介紹了JS實(shí)現(xiàn)求字符串中出現(xiàn)最多次數(shù)的字符和次數(shù),涉及javascript針對(duì)字符串的遍歷、統(tǒng)計(jì)、計(jì)算等相關(guān)操作技巧,需要的朋友可以參考下2019-07-07
js實(shí)時(shí)獲取系統(tǒng)當(dāng)前時(shí)間實(shí)例代碼
在網(wǎng)頁(yè)中實(shí)時(shí)的顯示時(shí)間,不但可以給網(wǎng)頁(yè)添色,還可以方便瀏覽者掌握當(dāng)前時(shí)間,為了提高網(wǎng)站的開發(fā)速度,可以把主代碼封裝在一個(gè)單獨(dú)的函數(shù)里面,在需要的時(shí)候直接調(diào)用 而我為了演示,直接寫在了主頁(yè)面,方便大家觀看2013-06-06
js+html5獲取用戶地理位置信息并在Google地圖上顯示的方法
這篇文章主要介紹了js+html5獲取用戶地理位置信息并在Google地圖上顯示的方法,涉及html5元素的操作技巧,需要的朋友可以參考下2015-06-06
Bootstrap 實(shí)現(xiàn)表格樣式、表單布局的實(shí)例代碼
這篇文章主要介紹了Bootstrap 實(shí)現(xiàn)表格樣式、表單布局的實(shí)例代碼,需要的朋友可以參考下2018-12-12
22種JavaScript中數(shù)組常用API總結(jié)
在前端開發(fā)中,數(shù)組是一種常見且重要的數(shù)據(jù)結(jié)構(gòu),本文主要介紹了前端中數(shù)組常用的API,包括添加、刪除、截取、合并、轉(zhuǎn)換等操作,希望對(duì)大家有所幫助2023-05-05
原生JS實(shí)現(xiàn)風(fēng)箱式demo,并封裝了一個(gè)運(yùn)動(dòng)框架(實(shí)例代碼)
下面小編就為大家?guī)?lái)一篇原生JS實(shí)現(xiàn)風(fēng)箱式demo,并封裝了一個(gè)運(yùn)動(dòng)框架(實(shí)例代碼)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-07-07
詳解uniapp頁(yè)面跳轉(zhuǎn)URL傳參大坑
本文主要介紹了詳解uniapp頁(yè)面跳轉(zhuǎn)URL傳參大坑,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-03-03

