Skip to content

Commit

Permalink
js 函数声明
Browse files Browse the repository at this point in the history
  • Loading branch information
realgeoffrey committed Sep 5, 2024
1 parent e2d9381 commit afd651d
Show file tree
Hide file tree
Showing 2 changed files with 4 additions and 2 deletions.
4 changes: 3 additions & 1 deletion 网站前端/JS学习笔记/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,8 @@
2. 实例化(`new`):默认返回`this`
3. 创建函数的方式:

>无论函数是如何创建的,函数都是一个值。
1. 函数声明(函数语句)

`function 名字 (多个参数) {/* 函数体 */}`
Expand Down Expand Up @@ -352,7 +354,7 @@
1. 也会被JS引擎提升到当前执行的作用域顶部声明(函数声明就等同于赋值),因此代码中函数的调用可以出现在函数声明之前。
2. 函数声明不应当出现在~~语句块~~内(如:条件语句),块内函数声明的行为很奇怪,请勿使用它们。
>在非严格模式下,语句块的函数也会提前声明,导致语义不清容易出错;在严格模式下,块内函数声明仅在块内作用域中(或 不允许块内函数声明)。
>在非严格模式下,语句块的函数也会提前声明,导致语义不清容易出错;在严格模式下,块内函数声明仅在块内作用域中(或不允许在语句块中使用函数声明)。
3. 函数表达式(Function expressions)声明
必须先声明:`var a = function () {...};`才可以使用,`a`声明会被提前,但`a`赋值不会被提前。
Expand Down
2 changes: 1 addition & 1 deletion 网站前端/前端内容/标准库文档.md
Original file line number Diff line number Diff line change
Expand Up @@ -1805,7 +1805,7 @@ JS内部,字符以UCS-2(UTF-16的子级)的格式储存。UTF-16结合了
1. 增加一些字符成为保留关键字(不能作为变量名或方法名或类名)。
`implements``interface``let``package``private``protected``public``static``yield`
2. 不允许在语句块(`if``for`)中使用函数声明;若允许,则函数声明在语句块内是块级作用域效果(仅在语句块内生效)。
2. 函数声明在语句块内(如:条件语句)是块级作用域效果(仅在语句块内生效)(;或不允许在语句块中使用函数声明)。
---
## ES6
Expand Down

0 comments on commit afd651d

Please sign in to comment.