数码资讯
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处理命名函数的机制,函数的名称在函数范围内总是有效的。
函数(富){ }
在整个程序被执行之前,提升函数将被提升,所以它在定义函数的整个范围(范围)中是可用的,甚至在函数定义之前调用它也没有问题。
在代码运行之前创建了
函数(富){ }
因为我打算写一篇介绍行动范围的文章,这里没有详述。
功能性表达
对于函数声明,函数名是必需的,对于函数表达式,它是可选的。因此,出现了匿名函数表达式和命名函数表达式:
功能说明:功能函数名(){ }
功能说明:功能函数名(){ } {可选}
所以我知道,如果没有函数名,它必须是一个函数表达式,但是如何判断一个函数名的情况呢
Javascript规定,如果整个函数体是表达式的一部分,那么它是一个函数表达式,否则它是函数声明:
Var(Fuc = foo){ }
让我们举几个更极端的表达式例子:
函数(富){ }!
真函数(富){ }
上面的语句只是用来区分函数表达式,一般不写这个,然后用比较的例子来看看效果:
匹配foo1(); / /匹配foo1未定义
Foo2(); / /作品因为Foo2被创建之前运行此代码
功能匹配foo1(){
警报('foo1作品);
};
功能Foo2(){
警报('foo2作品);
};
匿名函数的表达式
Var(富=函数){ };
上面的示例将匿名函数分配给变量富。
foo; / / 'undefined
foo(本); / /引发TypeError
Var(富=函数){ };
因为var是一个声明,所以变量是提升(提升),所以当程序被执行时,变量的调用被调用。
但是由于赋值语句在运行时唯一有效,所以变量的值是未定义的。
命名函数表达式
另一个要讨论的是命名函数的赋值。
函数条(){
(bar);
};
(酒吧); / / referenceerror
这里,命名函数条将变量赋给变量富,所以它在函数声明之外是不可见的,但它仍然可以在bar函数中被调用,这是因为Javascript处理命名函数的机制,函数的名称在函数范围内总是有效的。
声明:本文内容用于数码产品信息整理与选购参考,具体价格、库存、售后政策以官方渠道和电商页面实时信息为准。