javascript - js arguments
天蓬老师
天蓬老师 2017-04-11 11:49:05
[JavaScript讨论组]
function foo() {
    var p = arguments.length > 0 && arguments[0] !== undefined ? arguments[0]: x + 1;
    console.log(p);
}

上面代码中arguments[0] !== undefined不是已经能保证arguments.length>0了吗?为啥还要先判断前面arguments.length>0,是因为先判断arguments.length>0arguments[0] !== undefined性能好吗?谢谢

天蓬老师
天蓬老师

欢迎选择我的课程,让我们一起见证您的进步~~

全部回复(2)
高洛峰

因为foo(undefined)中内部的arguments.length其实是等于1并不等于0

PHPz

不是,你看一下以下代码的调用

foo(undefined);
  1. arguments.length = 1

  2. arguments[0] = undefined
    相信上面的代码尼应该明白意思了

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

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