程宇寒 2019-12-10 00:29 采纳率: 33.3%
浏览 407

JS中的变量声明提升与函数声明提升优先级

请教大家

var c = 1;
function c(c) {
    console.log(c);
    var c = 2;
}
c(3);

看到的第一眼,第一想法就是这题考察的是变量提升,唔,应该是输出undefined。结果不对,报错了
图片说明

再看下面

var c = 1;
function d(c) {
    console.log(c);
    var c = 2;
}
d(3);

输出是3,为什么呢?

再看下面,会输出什么?

var c = 1;
function d() {
    console.log(c);
    var c = 2;
}
d();

这是原贴

  • 写回答

2条回答

      报告相同问题?

      相关推荐 更多相似问题

      悬赏问题

      • ¥15 C/C++程序详细注解
      • ¥30 django项目,配值nginx 和 awsgi ,POST 不起作用,请教!
      • ¥15 数据集形式转换,将下面转换成上面的形式
      • ¥15 pmp项目管理干系人分析
      • ¥15 请问DenseNet图像输入大小是否是固定的?
      • ¥15 template模板的参数问题
      • ¥15 查找处理学生信息问题,含多个文件,显示问题是无法调用其中一个文件
      • ¥15 simulink生成代码后提示告警
      • ¥16 jieba提取高频词,生成文件是空的
      • ¥15 怎么读取服务器中的文件去配置mongo的连接