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("请输入你的名字:");
变量
声明
可以使用
var、let、const来声明变量,var是 ES5 语法,let和const是 ES6 新增的,let声明的是可变变量,const声明的是常量(不可变,声明时必须赋值)。var num1 = 10; let num2 = 20; const PI = 3.14;
赋值
声明变量后,可给变量赋值,也可在声明时直接赋值。
关键字
JavaScript 中有一些关键字,这些关键字具有特殊含义,不能用来作为变量名、函数名等,比如
var、let、const、if、else、for、function等。
变量名命名规则
变量名可以由字母、数字、下划线
_和美元符号$组成,但不能以数字开头。变量名区分大小写。
不能使用 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