当前位置: 首页 > 网络应用技术

函数声明变量的小知识

时间:2023-03-07 15:03:24 网络应用技术

  有人以前在微信中问了一个问题,为什么在以下代码中,最后一行的输出a为1是1

  这应该是由函数声明变量引起的,但是当我们符合某些条件时,我们不应声明该功能,因为我们可能会有错误

  功能语句不应放在块中。使用函数表达式或将语句移至外部函数的顶部。

  根据JSlint的说法

  

  有条件地声明具有功能语句的函数。

  简而言之,即使代码可以运行,也可能无法按照您的期望执行。由于函数声明的变量将在顶部促进,但尽管不能满足IF条件,但仍将声明函数。

  这就是为什么在上述代码中的第一个控制台中的a将是一个函数。如果必须有这样的需求,您可以考虑使用分配方法