JavaScript为什么s=5以严格模式显示

JavaScript为什么s=5以严格模式显示,javascript,Javascript,严格使用 充当{ 控制台日志 } a5 这里的问题是s实际上是被声明的。但它不仅仅是一个用var声明的普通变量,而是一个用函数定义的函数参数。在a5调用之前,console.log不会执行,并且只要调用a5,甚至是简单地调用a,就可以使用一个值初始化s参数,该值在本例中可以是5,也可以是未定义的,或者其他任何值。但是再次声明它,这样无论在严格模式还是在非严格模式下都不会出现错误。但是它被声明为函数a的参数。所有函数参数都是其函数的局部变量。如果s被认为是未声明的,则使用字符串模式将不允许任何接受

严格使用 充当{ 控制台日志 } a5 这里的问题是s实际上是被声明的。但它不仅仅是一个用var声明的普通变量,而是一个用函数定义的函数参数。在a5调用之前,console.log不会执行,并且只要调用a5,甚至是简单地调用a,就可以使用一个值初始化s参数,该值在本例中可以是5,也可以是未定义的,或者其他任何值。但是再次声明它,这样无论在严格模式还是在非严格模式下都不会出现错误。

但是它被声明为函数a的参数。所有函数参数都是其函数的局部变量。如果s被认为是未声明的,则使用字符串模式将不允许任何接受参数的函数。您将无法调用诸如parseInt甚至console.log之类的东西