我看到在堆棧一些類似的帖子存在的,但我想在jQuery的是檢查網址PARAM使用jQuery
$.urlParam('GETparameter')
爲什麼簡單 if($.urlParam('GETparameter') === undefined)
不工作,要求特定的功能?爲什麼在其他問題上有複雜的答案?
謝謝你的答案,請你能有人編輯我的文章?我的英語水平很低。
我看到在堆棧一些類似的帖子存在的,但我想在jQuery的是檢查網址PARAM使用jQuery
$.urlParam('GETparameter')
爲什麼簡單 if($.urlParam('GETparameter') === undefined)
不工作,要求特定的功能?爲什麼在其他問題上有複雜的答案?
謝謝你的答案,請你能有人編輯我的文章?我的英語水平很低。
首先,$.urlParam
不是固有的jQuery的功能,據我所知,意義如果你打算使用它,你需要定義它。
查看時,我發現了一個用戶創建的同名函數;我會認爲這是你指的是什麼:
$.urlParam = function(name){
var results = new RegExp('[\?&]' + name + '=([^&#]*)').exec(window.location.href);
return results[1] || 0;
}
看起來這將返回0
如果找不到參數,而不是undefined
。如果這個功能其實是在你引用一個,你會想這樣做,而不是:
if($.urlParam('GETparameter') === 0)
如果你想檢查變量的類型,你需要使用類似:
if (typeof($.urlParam('GETparameter')) === 'undefined') {
..
}
爲什麼這不僅僅是檢查'=== undefined'更好?見http://www.2ality.com/2013/04/check-undefined.html – Barmar
在我看來這是一個好習慣,因爲如果你根本沒有定義變量,你將會得到錯誤:「ReferenceError:x is沒有定義的」。進一步調試的問題較少。看看[這篇文章](http://stackoverflow.com/questions/6006156/javascript-testing-variables-for-undefined-value-testing-whether-object-is-arr) – jacqbus
好點,雖然它不適用到一個函數調用。 – Barmar