1、函数
函数对任何语言来说都是核心组件,因为它们可以封装语句,然后在任何地方、任何时间执行。ECMAScript 中的函数使用 function 关键字声明,后跟一组参数,然后是函数体。
基本语法:
function functionName(arg0, arg1,...,argN) {
statements
}
举个栗子:
function sayHi(name,message){
console.log("Hello "+name+","+message);
}
//通过函数名来调用函数,要传给函数的参数放在括号里(如果有多个参数,则用逗号隔开)
sayHi('Tom','Good Morning!'); //会打印:Hello Tom,Good Morning!
ECMAScript 中的函数不需要指定是否返回值。任何函数在任何时间都可以使用 return 语句来返回函数的值,用法是后跟要返回的值。
function sum(num1, num2) {
return num1 + num2;
console.log('Hi!'); //这一句的输出不会执行,因为它在return后面
}
只要碰到 return 语句,函数就会立即停止执行并退出。因此, return 语句后面的代码不会被执行。
return 语句也可以不带返回值。这时候,函数会立即停止执行并返回 undefined。这种用法最常用于提前终止函数执行,并不是为了返回值。
function sayHi(name, message) {
return;
console.log("Hello " + name + ", " + message); // 不会执行
}
严格模式下,函数的一些限制:
☒ 函数不能以 eval 或 arguments 作为名称;
☒ 函数的参数不能叫 eval 或 arguments;
☒ 两个命名参数不能拥有同一个名称。
违反上述规则,会导致程序报错,代码无法执行。
2、总结
ECMAScript 包含所有基本语法、操作符、数据类型和对象,能完成基本的计算任务,但没有提供获得输入和产生输出的机制。理解 ECMAScript 及其复杂的细节是完全理解浏览器中 JavaScript 的关键。
✄ ECMAScript 中的基本数据类型包括 Undefined、Null、Boolean、Number、String 和 Symbol。
✄ 与其他语言不同, ECMAScript 不区分整数和浮点值,只有 Number 一种数值数据类型。
✄ Object 是一种复杂数据类型,它是这门语言中所有对象的基类。
✄ 严格模式为这门语言中某些容易出错的部分施加了限制。
✄ ECMAScript 提供了 C 语言和类 C 语言中常见的很多基本操作符,包括数学操作符、布尔操作符、关系操作 符、相等操作符和赋值操作符等。
✄ 这门语言中的流控制语句大多是从其他语言中借鉴而来的,比如 if 语句、 for 语句和 switch语句等。
ECMAScript 中的函数与其他语言中的函数不一样:
✄ 不需要指定函数的返回值,因为任何函数可以在任何时候返回任何值。
✄ 不指定返回值的函数实际上会返回特殊值 undefined。