如果未指定或为空,则设置默认 URL 参数
Posted
技术标签:
【中文标题】如果未指定或为空,则设置默认 URL 参数【英文标题】:Set a default URL parameter if none is specified or is blank 【发布时间】:2017-09-11 05:37:54 【问题描述】:我有这个代码:
function getURLParameter(name)
return decodeURI(
(RegExp(name + '=' + '(.+?)(&|$)').exec(location.search)||[,null])[1] || ''
);
在我的 html 中,我使用以下方法标注了用户的设备品牌和型号:
<script>document.write(getURLParameter("brand") + (" ") + getURLParameter("name"))</script>
唯一的问题是这仅适用于某些移动设备。当它不起作用时,它只是留空。如果默认值是空的,有没有办法添加默认值?
【问题讨论】:
【参考方案1】:您可以简单地将值与
if(name === " " || name == null)
//code
或
if(name !== " " || name != null)
return decodeURI(
(RegExp(name + '=' + '(.+?)(&|$)').exec(location.search)||[,null])[1] || ''
);
【讨论】:
不太清楚它是如何实现的(我是新手)function getURLParameter(name) if(name === " " || name == null) return decodeURI( (RegExp(name + '=' + '(.+?)(&|$)').exec(location.search)||[,null])[1] || '' );
没有价值时,一切都是空白。
在Js中,当一个变量没有值时默认为null,所以当你获取一个值作为参数时,它可以为null。只需在解码变量值之前检查函数内部。
我仍然不知道该怎么做 :( 澄清一下,我想为返回值设置一个默认值,而不是实际的参数名称。例如 &brand=Samsung。如果 URL 中不存在“三星”,我希望将其替换为“移动设备”
在发送变量之前放置第一个条件,如果它为真,则将值更改为“移动设备”,
感谢到目前为止的帮助,但正如我所说,我仍然只是一个初学者。有没有什么地方我可以读到如何做这个特定的任务?我什至不知道从哪里开始。以上是关于如果未指定或为空,则设置默认 URL 参数的主要内容,如果未能解决你的问题,请参考以下文章
sh -z标志确定变量是否未设置。下面,$ {var + x}是一个参数扩展,如果未设置var,则计算结果为空,