2016-08-17 57 views
0

我看到在堆棧一些類似的帖子存在的,但我想在jQuery的是檢查網址PARAM使用jQuery

$.urlParam('GETparameter')

爲什麼簡單 if($.urlParam('GETparameter') === undefined) 不工作,要求特定的功能?爲什麼在其他問題上有複雜的答案?

謝謝你的答案,請你能有人編輯我的文章?我的英語水平很低。

回答

4

首先,$.urlParam不是固有的jQuery的功能,據我所知,意義如果你打算使用它,你需要定義它。

查看時,我發現了一個用戶創建的同名函數;我會認爲這是你指的是什麼:

$.urlParam = function(name){ 
    var results = new RegExp('[\?&]' + name + '=([^&#]*)').exec(window.location.href); 
    return results[1] || 0; 
} 

看起來這將返回0如果找不到參數,而不是undefined。如果這個功能其實是在你引用一個,你會想這樣做,而不是:

if($.urlParam('GETparameter') === 0)

0

如果你想檢查變量的類型,你需要使用類似:

if (typeof($.urlParam('GETparameter')) === 'undefined') { 
    .. 
} 

typeof documentation

+0

爲什麼這不僅僅是檢查'=== undefined'更好?見http://www.2ality.com/2013/04/check-undefined.html – Barmar

+0

在我看來這是一個好習慣,因爲如果你根本沒有定義變量,你將會得到錯誤:「ReferenceError:x is沒有定義的」。進一步調試的問題較少。看看[這篇文章](http://stackoverflow.com/questions/6006156/javascript-testing-variables-for-undefined-value-testing-whether-object-is-arr) – jacqbus

+0

好點,雖然它不適用到一個函數調用。 – Barmar