js-yi

引入方式

  • 内部方式:直接在 HTML 文件中,通过 <script> 标签嵌入 JavaScript 代码。

  • 外部形式:将 JavaScript 代码写在单独的 .js 文件中,然后在 HTML 文件里通过 <script> 标签的 src 属性引入。

注释和结束符

  • 单行注释:使用 // 来注释单行代码,注释内容不会被执行。

  • 多行注释:使用 /* */ 来注释多行代码。

  • 结束符:JavaScript 中语句一般以分号 ; 作为结束符,不过在某些情况下,换行也可作为语句的分隔,但为了代码规范,建议使用分号。

输入和输出

  • 输出

  • console.log():在浏览器控制台输出内容(开发调试常用)。

  • alert():弹出模态提示框显示内容(会阻塞页面交互)。

  • document.write():直接向 HTML 文档中写入内容(会覆盖原有内容,除非在页面加载时使用)。

    • // 控制台输出
      console.log("Hello, JavaScript!");
      // 弹出提示框输出
      alert("这是一个提示框");
      document.write("这是一段文本内容");
  • 输入

  • 使用 prompt() 可以弹出一个输入框,让用户输入内容,并可获取用户输入的内容。

    let userInput = prompt("请输入你的名字:");
    

变量

声明

  • 可以使用 varletconst 来声明变量,var 是 ES5 语法,letconst 是 ES6 新增的,let 声明的是可变变量,const 声明的是常量(不可变,声明时必须赋值)。

    var num1 = 10;
    let num2 = 20;
    const PI = 3.14;
    

赋值

  • 声明变量后,可给变量赋值,也可在声明时直接赋值。

关键字

  • JavaScript 中有一些关键字,这些关键字具有特殊含义,不能用来作为变量名、函数名等,比如 varletconstifelseforfunction 等。

变量名命名规则

  • 变量名可以由字母、数字、下划线 _ 和美元符号 $ 组成,但不能以数字开头。

  • 变量名区分大小写。

  • 不能使用 JavaScript 关键字和保留字作为变量名。

    let userName = "小明"; // 合法
    let $price = 99; // 合法
    // let 123num = 123; // 不合法,以数字开头
    // let for = 5; // 不合法,使用了关键字 for
    

常量

  • 使用 const 声明的变量为常量,常量一旦声明并赋值后,其值不能再被修改。

数据类型

数值类型(Number)

  • 用于表示数字,包括整数和浮点数(小数)。

    let intNum = 10; // 整数
    let floatNum = 3.14; // 浮点数
    

字符串类型(String)

  • 用于表示文本数据,需要用单引号 ' 或双引号 " 包裹。

    let str1 = 'Hello';
    let str2 = "JavaScript";
    

布尔类型(Boolean)

  • 只有两个值:true(真)和 false(假),常用于条件判断。

    let isTrue = true;
    let isFalse = false;
    if (isTrue) {
        console.log("条件为真");
    }
    

undefined

  • 表示一个变量声明了,但没有赋值时的默认值。

    let x;
    console.log(x); // 输出 undefined
    

类型转换

隐式转换

  • JavaScript 会在某些操作时自动进行类型转换,比如在进行算术运算或比较运算时。

    let num = 10;
    let str = "5";
    console.log(num + str); // 输出 "105",数字和字符串相加,数字被转为字符串进行拼接
    console.log(num - str); // 输出 5,字符串被转为数字进行减法运算
    

显式转换

  • Number():将其他类型转为数值类型。

    let strNum = "123";
    let num = Number(strNum);
    console.log(num); // 输出 123,类型为 number
    let boolTrue = true;
    console.log(Number(boolTrue)); // 输出 1

运算符

算术运算符

+(加)、-(减)、*(乘)、/(除)、%(取余)

javascript

运行

let a = 10, b = 3;
console.log(a + b); // 13
console.log(a % b); // 1(10除以3余1)

赋值运算符

=+=-=*=/=(运算后赋值)

javascript

运行

let num = 5;
num += 3; // 等价于 num = num + 3 → 8

自增 / 自减

++(加 1)、--(减 1),前置先变后用,后置先用后变

let x = 5;
console.log(++x); // 6(x先加1再输出)
console.log(x++); // 6(先输出x,再加1)

比较运算符

==(值相等)、===(值和类型都相等)、><>=<=

console.log(10 == "10"); // true(值相等)
console.log(10 === "10"); // false(类型不同)

逻辑运算符

&&(与,全为真则真)、||(或,有一真则真)、!(非,取反)

console.log(true && false); // false
console.log(!true); // false

语句

分支语句

if 语句

let score = 85;
if (score >= 60) {
  console.log("合格");
} else {
  console.log("不合格");
}

多分支 if-else if

let grade = "B";
if (grade === "A") {
  console.log("优秀");
} else if (grade === "B") {
  console.log("良好");
} else {
  console.log("其他");
}

三元运算符(简写 if-else)

let age = 18;
let status = age >= 18 ? "成年" : "未成年"; // "成年"

switch 语句(多值匹配)

let day = "Monday";
switch (day) {
  case "Monday":
    console.log("周一");
    break; // 跳出switch
  default:
    console.log("其他");
}

循环语句

while 循环

let i = 0;
while (i < 5) { // 条件为真时循环
  console.log(i); // 0,1,2,3,4
  i++;
}

for 循环

for (let j = 0; j < 5; j++) {
  console.log(j); // 0,1,2,3,4
}

循环控制

  • break:跳出循环

  • continue:跳过本次循环,进入下一次

for (let k = 0; k < 5; k++) {
  if (k === 2) continue; // 跳过k=2的循环
  if (k === 4) break; // 当k=4时跳出循环
  console.log(k); // 0,1,3
}

循环嵌套

// 九九乘法表
for (let i = 1; i <= 9; i++) {
  let row = "";
  for (let j = 1; j <= i; j++) {
    row += `${j}×${i}=${i*j} `;
  }
  console.log(row);
}

数组

定义与初始化

let arr1 = [1, "hello", true]; // 字面量方式(推荐)
let arr2 = new Array(2, 4, 6); // 构造函数方式

访问与修改

let fruits = ["apple", "banana"];
console.log(fruits[0]); // 访问:apple
fruits[1] = "orange"; // 修改:["apple", "orange"]

长度(length)

let nums = [1, 2, 3];
console.log(nums.length); // 3
nums.length = 2; // 截断为 [1, 2]

常用操作

let arr = [10, 20];

// 添加
arr.push(30); // 末尾加 → [10,20,30]
arr.unshift(5); // 开头加 → [5,10,20,30]

// 删除
arr.pop(); // 删末尾 → [5,10,20]
arr.shift(); // 删开头 → [10,20]

// 截取/拼接
let newArr = arr.concat([30, 40]); // 拼接 → [10,20,30,40]
let part = newArr.slice(1, 3); // 截取索引1-2 → [20,30]

函数

声明与调用

// 声明(函数名+形参)
function add(a, b) {
  return a + b; // return 返回结果
}

// 调用(传实参)
let sum = add(3, 5); // sum = 8

作用域

let global = "全局变量"; // 全局作用域,任何地方可访问

function test() {
  let local = "局部变量"; // 局部作用域,仅函数内可访问
  console.log(global); // 可访问全局变量
}

test();
// console.log(local); // 报错:局部变量外部不可用

匿名函数

// 函数表达式(赋值给变量)
let multiply = function(x, y) {
  return x * y;
};
multiply(2, 4); // 8

// 立即执行函数(声明后直接调用)
(function() {
  console.log("立即执行");
})();

对象

定义

// 字面量方式(推荐)
let person = {
  name: "Alice", // 属性
  age: 25,
  sayHi: function() { // 方法(函数属性)
    console.log("Hi, I'm " + this.name);
  }
};

访问与调用

console.log(person.name); // 点语法访问属性 → Alice
console.log(person["age"]); // 方括号访问 → 25
person.sayHi(); // 调用方法 → Hi, I'm Alice

遍历

for (let key in person) {
  console.log(key + ": " + person[key]); // 输出所有键值对
}

内置对象 Math

console.log(Math.PI); // 圆周率 → 3.1415...

// 常用方法
Math.abs(-5); // 绝对值 → 5
Math.ceil(3.2); // 向上取整 → 4
Math.floor(3.8); // 向下取整 → 3
Math.round(3.5); // 四舍五入 → 4
Math.max(1, 3, 5); // 最大值 → 5
Math.random(); // 0-1随机数 → 如 0.723


js-yi
http://localhost:8090//archives/js-yi
作者
亦菲
发布于
2025年10月05日
许可协议