淺談js中變量初始化
我在js里面寫了一個去除首尾空格及特定字符的函數(shù)。代碼如下:
function trim(str, charlist) {
return str.replace(new RegExp('^[\\s'+charlist+']+|[\\s'+charlist+']+$', 'g'), '');
}
代碼看上去沒有什么問題,運行起來也沒有錯誤。
直到今天,我在搜索欄里搜索“note3”的時候,才發(fā)現(xiàn),地址欄里搜索的內(nèi)容變成了“ote3”,而其他字母或者是數(shù)字開頭則是正常的,搜索什么,地址欄里的內(nèi)容就是什么。
調(diào)試過代碼之后,將代碼改為:
function trim(str, charlist) {
var charlist = charlist || "";
return str.replace(new RegExp('^[\\s'+charlist+']+|[\\s'+charlist+']+$', 'g'), '');
}
在函數(shù)中增加了對charlist的初始化。在次搜索“note3”,結(jié)果正確。
雖然js是弱類型語言,使用變量并不要求一定要初始化,運行的時候,代碼會自動轉(zhuǎn)換并賦值。但是這樣做會引起一些意想不到的問題,因此,對所有使用到的變量進行初始化,是非常有必要的。
今天就先到這里了,希望小伙伴們能夠喜歡。
相關(guān)文章
關(guān)于IE中g(shù)etElementsByClassName不能用的問題解決方法
今天使用getElementsByClassName寫了段小程序,在IE6、8中測試的時候就出現(xiàn)問題了,瀏覽器報錯,經(jīng)搜索找到了一個比較好的方法,是個老外寫的一個方法2013-08-08
javascript設(shè)置連續(xù)兩次點擊按鈕時間間隔的方法
這篇文章主要介紹了javascript設(shè)置連續(xù)兩次點擊按鈕時間間隔的方法,是非常實用的技巧,需要的朋友可以參考下2014-10-10
使用TypeScript實現(xiàn)一個類型安全的EventBus示例詳解
EventBus是工作中常用的工具,本文用Typescript實現(xiàn)一個具備基礎(chǔ)功能且類型安全的EventBus,是我近期學(xué)習(xí)Typescript的知識總結(jié),對TypeScript實現(xiàn)EventBus相關(guān)知識感興趣的朋友一起看看吧2022-06-06
javascript和jQuery實現(xiàn)網(wǎng)頁實時聊天的ajax長輪詢
在做網(wǎng)頁實時聊天的時候常常需要長輪詢,本文由于采用原生的JS及AJAX,所以簡單易懂,通過這篇文章就可以建立一個簡單的聊天室程序。2016-07-07

