📜  javascript(1)

📅  最后修改于: 2023-12-03 15:31:46.963000             🧑  作者: Mango

JavaScript

JavaScript是一门轻量级的解释性编程语言,是Web前端开发中不可或缺的一部分。它可以与HTML和CSS紧密结合,实现动态交互效果。下面是一些JS的基本特点:

  • JS既可以作为脚本语言直接嵌入网页,也可以独立开发运行。
  • JS代码可以在不同平台和不同设备上运行,因为其解释性的特点。
  • JS的语法类似于C语言,易于学习。
  • JS支持面向对象编程的特性,如封装、继承和多态。
  • JS的DOM和BOM接口可以与浏览器窗口、文档、表单等进行交互。
语法
数据类型

JS有6种基本数据类型:Number、String、Boolean、null、undefined和Symbol,除此之外还有一种复杂数据类型Object。

let num = 123;          // 数字
let str = 'Hello';      // 字符串
let bool = true;        // 布尔值
let nul = null;         // 空值
let und = undefined;    // 未定义
let sym = Symbol();     // 唯一标识符

let obj = {             // 对象
    name: 'Jack',
    age: 20
};
变量声明

使用const声明常量、let声明变量,或使用var声明全局变量(不推荐)。

const a = 1;    // 定义常量a
let b = 2;      // 定义变量b
条件语句

JS中的条件语句有if-elseswitch-case和三元运算符等。

if (a > b) {
    console.log('a > b');
} else if (a < b) {
    console.log('a < b');
} else {
    console.log('a = b');
}

switch (a) {
    case 1:
        console.log('a = 1');
        break;
    case 2:
        console.log('a = 2');
        break;
    default:
        console.log('a != 1 && a != 2');
        break;
}
循环语句

JS中的循环语句有forwhiledo-while等,其中for-infor-of可以遍历数组和对象。

for (let i = 0; i < 10; i++) {
    console.log(i);
}

let i = 0;
while (i < 10) {
    console.log(i);
    i++;
}

let j = 0;
do {
    console.log(j);
    j++;
} while (j < 10);

let arr = [1, 2, 3];
for (let item of arr) {
    console.log(item);
}

let obj = {name: 'Jack', age: 20};
for (let key in obj) {
    console.log(`${key} = ${obj[key]}`);
}
函数

JS中的函数可以用function关键字声明、也可以使用箭头函数声明(ES6及以上版本)。

function add(a, b) {
    return a + b;
}

let sub = (a, b) => a - b;
对象

JS中的对象用{}包裹键值对,每个键值对之间用,分隔。

let person = {
    name: 'Jack',
    age: 20,
    sayHello: function() {
        console.log(`Hello, my name is ${this.name}`);
    }
};

person.sayHello();    // Hello, my name is Jack
数组

JS中的数组通过[]定义,每个元素之间用,分隔。

let arr = [1, 'two', true, {name: 'Jack', age: 20}];
console.log(arr.length);        // 4
console.log(arr[1]);            // 'two'
应用场景
  • 与HTML、CSS一起实现动态交互效果。
  • 实现Web API的调用(如Ajax、DOM操作等)。
  • 开发基于Node.js的后端服务。
  • 开发原生移动APP的混合开发。
学习资源