Javascript编程概述
Javascript是一种广泛使用的高级编程语言,具有以下特点:
- 解释型语言:代码在运行时由解释器逐行解析执行。
- 脚本语言:通常嵌入到HTML页面中,用于增强网页的交互性。
- 弱类型语言:变量无需显式声明类型即可使用。
- 基于对象的语言:支持面向对象编程,但不完全支持类的概念。
- 动态类型语言:变量的类型可以在运行时改变。
面向对象编程(OOP)
OOP是Javascript的重要组成部分,主要特性包括:
- 封装:将数据和操作数据的方法绑定在一起,形成一个独立的单元。
- 继承:子类可以继承父类的属性和方法,提高代码复用性。
- 多态:允许不同类的对象对同一消息作出响应,即同一操作作用于不同的对象,可以有不同的解释,产生不同的执行结果。
- 抽象:从具体实例中提取共性,形成抽象类或接口。
Javascript中的对象
在Javascript中,对象是由一组无序的属性组成的集合,每个属性都有一个名称和对应的值。对象可以通过多种方式创建:
- 使用系统构造函数:
var obj1 = new Object();
- 自定义构造函数:
var obj2 = new CustomConstructor();
- 字面量:
var obj3 = {};
可以通过instanceof
关键字检查一个变量是否属于特定类型。
JSON数据格式
JSON(Javascript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。JSON数据由键值对组成,例如:{ "name": "小明" }
。
对象属性的操作
在Javascript中,可以通过点语法或方括号语法来设置和获取对象的属性:
- 设置属性:
obj.propertyName = value;
或 obj["propertyName"] = value;
- 获取属性:
obj.propertyName
或 obj["propertyName"]
遍历对象的所有属性可以使用for...in
循环。
数据类型
Javascript中有两种主要的数据类型:
- 基本类型:包括
number
、string
、boolean
、null
、undefined
。 - 复杂类型:主要是
object
,包括数组、函数和其他对象。
基本类型在栈内存中存储,而复杂类型在堆内存中存储,栈中保存的是堆中对象的引用。
Math对象
Math
对象提供了数学常数和函数的访问,如:Math.PI
、Math.max()
、Math.min()
、Math.random()
等。
new关键字的工作原理
使用new
关键字创建对象时,Javascript引擎会执行以下步骤:
- 创建一个新的空对象。
- 将新对象的原型链接到构造函数的原型对象。
- 将构造函数内部的
this
指向新对象。 - 执行构造函数中的代码,为新对象添加属性和方法。
- 返回新对象。