问题如图所示:
定义一个函数,函数的形参为arg,运行函数时,打印这个参数,返回的结果为undefined,这说
明,参数arg在函数中已经声明,但是没有被赋值,所以才会输出undefined。我想知道的是,这个
参数是何时被定义的以及如何被定义的,如果给test函数传递一个实参,那么实参的值是如何传递给这个形参的?没有有关于函数参数的规范标准可以查阅?
问题如图所示:
定义一个函数,函数的形参为arg,运行函数时,打印这个参数,返回的结果为undefined,这说
明,参数arg在函数中已经声明,但是没有被赋值,所以才会输出undefined。我想知道的是,这个
参数是何时被定义的以及如何被定义的,如果给test函数传递一个实参,那么实参的值是如何传递给这个形参的?没有有关于函数参数的规范标准可以查阅?
13 回答13.1k 阅读
7 回答2.3k 阅读
3 回答1.4k 阅读✓ 已解决
6 回答1.4k 阅读✓ 已解决
2 回答1.5k 阅读✓ 已解决
3 回答1.5k 阅读✓ 已解决
6 回答1.2k 阅读
是在变量对象被创建的时候定义的。
变量对象的创建过程分为:
建立arguments对象。检查当前上下文中的参数,建立该对象下的属性与属性值。
检查当前上下文的函数声明,也就是使用function关键字声明的函数。在变量对象中以函数名建立一个属性,属性值为指向该函数所在内存地址的引用。如果函数名的属性已经存在,那么该属性将会被新的引用所覆盖。
检查当前上下文中的变量声明,每找到一个变量声明,就在变量对象中以变量名建立一个属性,属性值为undefined。如果该变量名的属性已经存在,为了防止同名的函数被修改为undefined,则会直接跳过,原属性值不会被修改。
更多信息点击这里了解
希望我的回答能帮助到您^_^