JavaScript 学习
变量声明和数据类型
var name = 'John';
let age = 25;
const PI = 3.14;
// 数据类型:字符串、数字、布尔值
// var声明(ES5),let和const声明(ES6)
var
、let
和const
是 JavaScript 中声明变量的关键字。var
在 ES5 中使用,let
和const
在 ES6 中引入,具有块级作用域,能避免变量提升的问题。name
是一个字符串类型的变量,存储着名为 "John" 的数据。age
是一个数字类型的变量,存储着数值 25。PI
是一个常量,存储着圆周率值 3.14。由于是用const
声明,所以其值不可更改。
条件语句和循环
let x = 10;
if (x === 10) {
console.log('x is 10');
} else {
console.log('x is not 10');
}
for (let i = 0; i < 5; i++) {
console.log(i);
}
if-else
是条件语句,根据条件判断执行不同的代码块。for
循环语句,用于重复执行指定的代码块,语法包括初始化(let i = 0
)、条件(i < 5
)和递增(i++
)三个部分。
函数定义和调用
function greet(name) {
console.log('Hello, ' + name);
}
greet('Alice');
function
关键字用于声明一个函数。greet
是函数的名称,接受一个参数name
。- 函数内部使用
console.log()
方法打印一条问候语,并将参数name
输出到控制台。 greet('Alice')
是函数的调用,将字符串'Alice'
作为参数传递给函数。
对象和属性
let person = {
firstName: 'John',
lastName: 'Doe',
age: 30,
greet: function() {
console.log('Hello, ' + this.firstName);
}
};
console.log(person.firstName);
person.greet();
person
是一个包含属性和方法的对象。对象属性由键值对组成,可以包含字符串、数字、函数等不同类型的值。firstName
、lastName
和age
是对象person
的属性。greet
是一个函数属性,存储着一个打印问候语的方法。- 使用点符号
.
或者方括号[]
来访问对象的属性或调用方法,例如person.firstName
、person.greet()
。
函数表达式
除了用 function
关键字声明函数外,还可以使用函数表达式创建函数。
let greet = function(name) {
console.log('Hello, ' + name);
};
greet('Alice');
- 函数表达式将函数赋值给变量
greet
。这种方式创建的函数被称为匿名函数,因为它没有函数名。 - 可以像调用普通函数一样使用函数表达式来调用
greet('Alice')
。
对象的属性和方法
在对象中可以包含其他对象,以及为对象添加方法。
let person = {
firstName: 'John',
lastName: 'Doe',
age: 30,
address: {
city: 'New York',
country: 'USA'
},
fullName: function() {
return this.firstName + ' ' + this.lastName;
}
};
console.log(person.address.city);
console.log(person.fullName());
address
是一个嵌套在person
对象内部的对象。可以使用点符号(person.address.city
)访问嵌套对象的属性。fullName
是一个方法,通过this
关键字引用对象本身,并返回firstName
和lastName
组合成的完整姓名。
构造函数和原型
构造函数允许你创建对象模板,并在创建新对象时初始化对象属性。
function Person(firstName, lastName) {
this.firstName = firstName;
this.lastName = lastName;
}
Person.prototype.fullName = function() {
return this.firstName + ' ' + this.lastName;
};
let john = new Person('John', 'Doe');
console.log(john.fullName());
Person
是一个构造函数,用于创建Person
类的新对象。通过new
关键字实例化对象。fullName
方法被添加到Person
类的原型中,以节省内存并且可以被所有Person
的实例所共享。