JavaScript 学习

发布时间 2023-12-09 21:00:48作者: 陈泽阳

变量声明和数据类型

var name = 'John';
let age = 25;
const PI = 3.14;

// 数据类型:字符串、数字、布尔值
// var声明(ES5),let和const声明(ES6)

  • varletconst 是 JavaScript 中声明变量的关键字。var 在 ES5 中使用,letconst 在 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 是一个包含属性和方法的对象。对象属性由键值对组成,可以包含字符串、数字、函数等不同类型的值。
  • firstNamelastNameage 是对象 person 的属性。
  • greet 是一个函数属性,存储着一个打印问候语的方法。
  • 使用点符号 . 或者方括号 [] 来访问对象的属性或调用方法,例如 person.firstNameperson.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 关键字引用对象本身,并返回 firstNamelastName 组合成的完整姓名。

构造函数和原型

构造函数允许你创建对象模板,并在创建新对象时初始化对象属性。

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 的实例所共享。