数据类型与变量:JavaScript拥有多种基本数据类型,包括数字(如1、3.14)、字符串(如'Hello'、"World")、布尔值(true或false)、null和undefined。此外,还有复杂的数据类型,如对象(用于存储键值对)和数组(用于存储有序的数据集合)。变量可以通过var、let或const来声明,其中let和const具有块级作用域,var的作用域是函数级的。
函数与作用域:函数是JavaScript中的一等公民,可以作为变量传递、赋值给其他变量,也可以作为参数传递给其他函数。函数内部有自己的作用域,变量的访问和定义遵循一定的作用域规则。例如,内部函数可以访问外部函数定义的变量(闭包现象),这为实现数据隐藏和模块化编程提供了可能。
面向对象编程(OOP)特性:JavaScript支持面向对象编程,虽然它的对象模型与传统的面向对象语言(如Java、C++)略有不同。它通过构造函数或类(ES6引入)来创建对象,对象可以有属性和方法。例如,function Person(name, age) { this.name = name; this.age = age; this.sayHello = function() { console.log('Hello, my name is'+ this.name +'and I am'+ this.age +'years old.'); }; }定义了一个Person类(通过构造函数方式),可以创建具有name、age属性和sayHello方法的对象。