JS编程建议——18:比较function语句和function表达式

简介: 18:比较function语句和function表达式

建议18:比较function语句和function表达式
在JavaScript语言中,既有function语句,也有函数表达式,这是令人困惑的,因为它们看起来是相同的。一个function语句就是值为一个函数的var语句的简写形式。
下面的语句:

  1. function f() {}
    相当于:
  2. var f=function() {}
    这里建议使用第二种形式,因为它能明确表示f是一个包含一个函数值的变量。要用好JavaScript这门语言,理解函数就是数值是很重要的。

function语句在解析时会被提升,这意味着不管function被放置在哪里,它都会被移动到定义时所在作用域的顶层。这放宽了函数必须先声明后使用的要求,当然这也会造成混乱。
在if语句中也是禁止使用function语句的。大多数的浏览器都允许在if语句中使用function语句,但它们在解析function语句的处理上各不相同,因此造成了可移植性方面的问题。
根据官方的语法约定,一个语句不能够以一个函数表达式开头,而以单词function开头的语句是一个function语句。解决这个问题的方法就是把函数表达式括在一个圆括号之中。

  1. (function () {
  2. //…
  3. }());
相关文章
|
1月前
|
前端开发 JavaScript 开发者
探索JavaScript ES6的八种常见使用技巧:开启现代编程之旅
探索JavaScript ES6的八种常见使用技巧:开启现代编程之旅
|
1月前
|
JavaScript 前端开发 开发者
编程笔记 html5&css&js 071 JavaScript Symbol 数据类型
编程笔记 html5&css&js 071 JavaScript Symbol 数据类型
|
26天前
|
存储 JavaScript 前端开发
js开发:请解释什么是回调函数(callback function),并给出一个示例。
回调函数是JavaScript中处理异步编程的一种常见模式,常用于事件驱动和I/O操作。它们作为参数传递给其他函数,在特定条件满足或任务完成后被调用。例如,`asyncOperation`函数接受回调函数`handleResult`,在模拟的异步操作完成后,调用`handleResult`并传递结果。这使得程序员能在操作完成后执行后续任务。
17 1
|
30天前
|
存储 JavaScript 编译器
这款国产中文编程火了!通过文言文编译生成Python、JS、Ruby代码!
这款国产中文编程火了!通过文言文编译生成Python、JS、Ruby代码!
|
1月前
|
JavaScript 前端开发
编程笔记 html5&css&js 079 JavaScript 循环语句
编程笔记 html5&css&js 079 JavaScript 循环语句
|
1月前
|
JavaScript 前端开发 开发者
编程笔记 html5&css&js 078 JavaScript 条件判断语句
条件判断语句是首先要接触的语句。通过条件判断来执行不同的代码块。
|
1月前
|
JavaScript 前端开发 编译器
编程笔记 html5&css&js 077 Javascript 关键字
编程笔记 html5&css&js 077 Javascript 关键字
|
1月前
|
JavaScript 前端开发
编程笔记 html5&css&js 076 Javascript 表达式
编程笔记 html5&css&js 076 Javascript 表达式
|
1月前
|
存储 JavaScript 前端开发
编程笔记 html5&css&js 075 Javascript 常量和变量
编程笔记 html5&css&js 075 Javascript 常量和变量
|
1月前
|
JavaScript 前端开发 程序员
编程笔记 html5&css&js 074 Javascript 运算符
编程笔记 html5&css&js 074 Javascript 运算符