Skip to content

HTML 中的 script 标签

将 script 标签放在 body 标签后,以便让浏览器先渲染出界面再解析 js 代码,并且保证操作的元素都已经被渲染。

Null 和 object

js
const x = null;
console.log(typeof x);// object

由于大多数平台给出的 null 的值都是 16 进制的 0,而 0 代表了 object

字符串

模板字符串

js
console.log(`my name is ${username} and I am ${age} years old.`);

String 对象内置方法

substringtoLowerCasesplit

对象

js
const pp = {
    name: "zhangsan",
    age: 20,
    sayName(){
        console.log(this.name)
    },
};

数组

创建及基本操作

js
const a = new Array(1,2,3,4);// 构造函数创建数组
let a = ['col','cy'];// 中括号直接创建数组
a = ['col', 'cy', true, 123];// 可以有不同类型
a[5] = 5;// 直接在第五位赋值元素,其它位空置
a.push(10);// 末尾添加
a.unshift("first");// 头部添加
a.pop();// 删除末尾元素
console.log(Array.isArray(a));// 判断一个对象是否是数组
console.log(a.indexOf("cy"));// 返回数组中某个元素的下标,不存在则返回-1
console.log(a);

对象数组

对象数组即在数组中存储一个对象(当然是匿名对象)

js
const a = {
	trans: [
        {
            locale : 'de',
            num : 114514
        }
    ]
}
console.log(a.trans[0].locale);

解构赋值

  1. 变量的解构赋值
js
[a,b,c] = ["114",514,1919810];
  1. 数组解构
  2. 返回值解构
  3. 对象解构

对象数组与 JSON 的相互转换

js
const p = JSON.stringify(a);// 将对象数组转JSON
const pp = JSON.parse(p)// 将JSON转对象数组

条件分支

与 C++语法相同,由于是弱类型语言,如果使用 == 判定相等,那么 "114514" == 114514,使用 === 要求类型完全相同,那么上式为 false

三目运算符

完全相同

Switch 分支

与 C++基本相同,但是 case: 后可以是任何类型或者是对象

For each 循环

js
let a = [1,2,3,4,5];
for(let i of a){
    console.log(i);
}

这种写法等价于调用对象的 forEach 方法:

js
a.forEach(function(item){
    console.log(item);
});