Javascript学习笔记的函数文本(1):函数声明和函数表达式

Javascript学习笔记的函数文本(1):函数声明和函数表达式
函数声明
函数(富){ }
在整个程序执行之前,提升函数将被提升,所以它在定义函数的整个范围(范围)中是可用的,甚至在函数定义之前调用它也没有问题。
在代码运行之前创建
函数(富){ }
因为我打算写一篇介绍行动范围的文章,这里没有详述。

功能性表达

对于函数声明,函数名是必需的,对于函数表达式,它是可选的。因此,出现了匿名函数表达式和命名函数表达式:

功能说明:功能函数名(){ }

功能说明:功能函数名(){ } {可选}

所以我知道,如果没有函数名,它必须是一个函数表达式,但是如何判断一个函数名的情况

Javascript规定,如果整个函数体是表达式的一部分,那么它是一个函数表达式,否则它是函数声明:
Var(Fuc = foo){ }
让我们举几个更极端的表达式例子:
函数(富){ }!
真函数(富){ }
上面的语句只是用来区分函数表达式,一般不写这个,然后用比较的例子来看看效果:
匹配foo1(); / /匹配foo1未定义
Foo2(); / /作品因为Foo2被创建之前运行此代码
功能匹配foo1(){
警报('foo1作品);
};
功能Foo2(){
警报('foo2作品);
};
匿名函数的表达式
Var(富=函数){ };
上面的示例将匿名函数分配给变量富。
foo; / / 'undefined
foo(本); / /引发TypeError
Var(富=函数){ };
因为var是一个声明,所以变量是提升(提升),所以当程序被执行时,变量的调用被调用。

但是由于赋值语句在运行时唯一有效,所以变量的值是未定义的。

命名函数表达式

另一个要讨论的是命名函数的赋值。
函数条(){
(bar);
};
(酒吧); / / referenceerror
这里,命名函数条将变量赋给变量富,所以它在函数声明之外是不可见的,但它仍然可以在bar函数中被调用,这是因为Javascript处理命名函数的机制,函数的名称在函数范围内总是有效的。
免责声明:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。
相关文章
返回顶部