淺談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)文章
JavaScript正則表達(dá)式替換字符串中圖片地址(img src)的方法
這篇文章主要介紹了JavaScript正則表達(dá)式替換字符串中圖片地址(img src)的方法,結(jié)合實例形式分析了JS正則替換的常用技巧與注意事項,需要的朋友可以參考下2017-01-01
Invalid?Host?header問題該如何解決的幾種方式
Invalid Host header是一個常見的錯誤信息,通常發(fā)生在Web應(yīng)用程序中,下面這篇文章主要給大家介紹了關(guān)于Invalid?Host?header問題該如何解決的幾種方式,需要的朋友可以參考下2024-09-09
javascript設(shè)計模式 – 命令模式原理與用法實例分析
這篇文章主要介紹了javascript設(shè)計模式 – 命令模式,結(jié)合實例形式分析了javascript命令模式相關(guān)概念、原理、用法及操作注意事項,需要的朋友可以參考下2020-04-04
JS中for,for...in,for...of和forEach的區(qū)別和用法實例
JS遍歷數(shù)組(循環(huán)數(shù)組)的方式有多種,可以使用傳統(tǒng)的for循環(huán),也可以使用升級版的for in循環(huán),還可以使用Array類型的forEach() 方法,這篇文章主要給大家介紹了關(guān)于JS中for、for...in、for...of和forEach的區(qū)別和用法的相關(guān)資料,需要的朋友可以參考下2021-11-11

