javascript - [,null]是什么用法
过去多啦不再A梦
过去多啦不再A梦 2017-06-26 10:58:11
[JavaScript讨论组]

看到用下面的函数来取得url的值。

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

但是不知道[,null]在这里是什么表达方式。

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

全部回复(3)
代言

偷懒的做法,
(name + '=' + '(.+?)(&|$)').exec(location.search)如果匹配成功。结果不会null。(.+?)就是正则匹配的值[1]。而如果匹配失败,exec返回null。
[,null]第一个值为undefined,这个操作只是统一了返回值为null,关键还是最后面的[1]导致的
如果后面的是[0],那[,null]可以改写为[null]

阿神

[,null][1]不就是null了吗,前面的匹配不到就返回null

扔个三星炸死你

相当于这样吧

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

但是前面( RegExp(name + '=' + '(.+?)(&|$)').exec(location.search) )这一段如果没有获取到参数值,直接取[1]会报错,所以在后面加[,null],相当于[undefined, null],在最后取[1],可以确保不会因为获取不到url参数而发生数组越界错误

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号