我正在使用以下代码:
<script type="text/javascript">
function getURLParameter(name) {
return decodeURIComponent((new RegExp('[?|&]' + name + '=' + '([^&;]+?)(&|#|;|$)').exec(location.search)||[,""])[1].replace(/\+/g, '%20'))||null;
}
</script>
然后我在jAlert弹出框中使用URL参数,如下所示:
<script>
alert('Warning', 'Your'+getURLParameter('model') + 'is outdated.');
</script>
如何指定URL参数名称,例如&#34; Generic&#34;或&#34;未定义&#34;,将其设置为某个默认参数?
由于
答案 0 :(得分:0)
检查是否设置了name
param;如果没有,它会得到一个默认值:
function getURLParameter(name) {
if (!name)
name = 'default Value';
return decodeURIComponent((new RegExp('[?|&]' + name + '=' + '([^&;]+?)(&|#|;|$)').exec(location.search)||[,""])[1].replace(/\+/g, '%20'))||null;
}
答案 1 :(得分:0)
name = name || 'default value';
是一种惯用语,可以为您节省一些按键(即if(!){}
对||
)。
如果你接受了许多JavaScript的虚假价值,那么if(!name){ name = 'default value'; }
就没用了。
如果您需要接受虚假值,则下面是正确的版本
if(typeof name === 'undefined'){ name = 'default value'; }
。
function defaultArg(name) {
name = name || '<strong>my default name</strong>';
document.write("My name is " + name + '</br>\n');
}
defaultArg();
defaultArg(undefined);
defaultArg(false);
defaultArg(null);
defaultArg(0);
defaultArg("Peter");
defaultArg(1);
defaultArg('null');
defaultArg('undefined');
&#13;
function defaultArg2(name) {
if(typeof name === 'undefined') name = '<strong>my default name</strong>';
document.write("My name is " + name + '</br>\n');
}
document.write('</br>')
defaultArg2();
defaultArg2(undefined);
defaultArg2(false);
defaultArg2(null);
defaultArg2(0);
defaultArg2("Peter");
defaultArg2(1);
defaultArg2('null');
defaultArg2('undefined');
&#13;