请问图中js中函数的结果是多少,原因有哪些?
发布网友
发布时间:2022-04-22 17:22
我来回答
共1个回答
热心网友
时间:2022-04-22 18:51
结果是 `NaN`。
原因是 text 函数里边的 `var a = 7;`,使用 `var` 声明变量会有变量声明提升,在 text 函数里边会把 `var a` 提升到函数开头,这时 a = undefined。undefined + 1 得到 NaN。
如果把 text 函数内的变量声明 `var a = 7;` 改成用关键字 `const` 或 `let` 则会报错,这是因为在作用域内,变量声明之前会有一个临时死区,这个时候使用变量就会报错。
如果把 text 函数内的变量声明去掉,改成 `a = 7`,则结果是 `7`(Number 类型)。这个时候在 text 函数里边 a 还是全局变量的 a。5 + 1 得到 6.