返回

初窥门径,领略JavaScript的魅力:ES5篇

前端

终于走到了ES5的终点,内心五味杂陈,又酸又累。如同吃了一大把辣条,然后躺在床上对代码说出:晚安。我的天,这知识点可真不少!

JS与ES5

提起ES5,我们先要搞清楚什么是ES和什么是JavaScript。ES是ECMAScript的缩写,它是JavaScript的标准化版本,JavaScript是ES最广泛使用的实现。

ES5的概述

ES5发布于2009年,是JavaScript的一项重大更新,引入了许多新的特性,包括严格模式、JSON支持、Array.prototype.forEach()等。ES5的诞生标志着JavaScript语言的成熟,使其成为一种更强大、更易用的编程语言。

ES5的基本语法

1. 变量

变量是用来存储数据的容器,可以使用var、let或const来声明变量。

var name = '张三';
let age = 20;
const gender = '男';

2. 数据类型

JavaScript中有七种数据类型:

  • 布尔型(boolean):true或false
  • 数字型(number):整数或浮点数
  • 字符串型(string):由双引号或单引号括起来的文本
  • 对象型(object):存储键值对的集合
  • 数组型(array):存储一组有序元素的集合
  • 函数型(function):执行特定任务的一组语句
  • undefined型(undefined):未赋值的变量的值
  • null型(null):表示空值

3. 运算符

运算符用于对操作数进行运算,包括算术运算符、比较运算符、逻辑运算符、赋值运算符等。

var a = 10;
var b = 20;
var c = a + b; // c等于30
var d = a - b; // d等于-10
var e = a * b; // e等于200
var f = a / b; // f等于0.5
var g = a % b; // g等于10

4. 控制流

控制流用于控制程序的执行顺序,包括if语句、switch语句、for循环、while循环、do-while循环等。

var score = 90;
if (score >= 90) {
  console.log('优秀');
} else if (score >= 80) {
  console.log('良好');
} else if (score >= 70) {
  console.log('中等');
} else {
  console.log('不及格');
}

5. 函数

函数是一组执行特定任务的语句,可以使用关键字function来声明函数。

function add(a, b) {
  return a + b;
}
var result = add(10, 20); // result等于30

ES5中的数组与对象

1. 数组

数组是存储一组有序元素的集合,可以使用关键字let或const来声明数组。

let arr = [1, 2, 3, 4, 5];
console.log(arr[2]); // 输出3

2. 对象

对象是存储键值对的集合,可以使用关键字let或const来声明对象。

let obj = {
  name: '张三',
  age: 20,
  gender: '男'
};
console.log(obj.name); // 输出'张三'

ES5中的原型与闭包

1. 原型

原型是JavaScript中的一种继承机制,它允许子对象继承父对象的属性和方法。

function Person(name, age) {
  this.name = name;
  this.age = age;
}

Person.prototype.sayHello = function() {
  console.log('Hello, my name is ' + this.name);
};

function Student(name, age, school) {
  Person.call(this, name, age);
  this.school = school;
}

Student.prototype = new Person();

var student = new Student('张三', 20, '清华大学');
student.sayHello(); // 输出'Hello, my name is 张三'

2. 闭包

闭包是指能够访问外部函数作用域的函数,它可以使外部函数的作用域一直存活下去,即使外部函数已经执行完毕。

function outer() {
  var a = 10;
  function inner() {
    console.log(a); // 输出10
  }
  return inner;
}

var inner = outer();
inner();

ES5的知识点非常丰富,本篇文章只是对其中一部分内容进行了介绍。如果您想了解更多,可以参考ES5的官方文档或其他相关资料。

希望这篇博客对您有所帮助!