javascript - [,null]是什麼用法
过去多啦不再A梦
过去多啦不再A梦 2017-06-26 10:58:11
0
4
956

看到用下面的函數來取得url的值。

function getURLParameter(name) {
    return decodeURI(
        (RegExp(name + '=' + '(.+?)(&|$)').exec(location.search)||[,null])[1]
    );
}

但是不知道[,null]在這裡是什麼表達方式。

过去多啦不再A梦
过去多啦不再A梦

全部回覆(4)
刘奇

這個函數的作用是想取得URI中某個參數的值,如網址http://www.xxx.com/index.html?key=hello&value=world*,此時的location.search等於?key=hello&value=world。例如要取得key的值("hello"),呼叫getURLParameter("key")就行。

exec的語法如下:

如果匹配,則返回結果是一個數組,數組的第一個元素是匹配的子串,後面的元素則依次是捕獲型括號的內容,由正則表達式可見,我們需要的結果是第一個捕獲型括號的內容,是陣列的第二個元素,所以使用了[1];

舉例來說,假設網址還是上面的網址,我們呼叫getURLParameter("key"),匹配的結果是["key=hello&", "hello", "&"]"key=hello& "是配對的子字串,"hello"是第一個捕獲型括號的內容,"&"是第二個捕獲型括號的內容。 ["key=hello&", "hello", "&"] || [,null]的結果當然是前一項,也就是["key=hello&", "hello", "&"] , 然後取[1],整個函數的回傳值就是"hello"

但是,如果我們呼叫getURLParameter("time"),匹配失敗,所以結果是null,此時如果你呼叫[1]就會報錯。 [,null]表示[undefined, null],當匹配失敗的時候,就變成了null || [undefined, null]這個結果是[undefined, null],此時再這個結果是[undefined, null],此時再這個結果是

[undefined, null]

,此時再 [1]就不會報錯了,此時整個函數回傳的是

null🎜。 🎜 🎜調用完🎜getURLParameter🎜函數以後,可以透過判斷回傳值是否為null,如果是null,則表示URL中沒有這個參數;不為null,則傳回值就是需要的參數值。 🎜
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!