学而时习之 不亦说乎

现代JavaScript教程 数据类型

发表于:2021-05-31

原始类型的方法

JavaScript有7种原始类型,原始类型是可以当作对象使用内置方法的。

[查看全文]

现代JavaScript教程 对象笔记

发表于:2021-05-26

对象

//创建对象
let user = new Object(); // “构造函数” 的语法
let user = {};  // “字面量” 的语法
let user = {     // 创建对象
  name: "John",  // 属性 键 "name",值 "John"
  age: 30,       // 属性 键 "age",值 30
  num: 4,
  "likes cat": true, //多词属性
};
user.isAdmin = true; //添加属性
delete user.num;//移除属性


//访问对象
alert( user.name ); // John
alert( user.age ); // 30
alert( user.isAdmin ); // true
alert( user["likes cat"] );//访问多词属性,删除也一样
let key = "name";
alert(user[key]);//当使用变量当名称访问时应该加[]


//计算属性
let fruit = "age";
let bag = {
  [fruit]: 5, // 属性名是从 fruit 变量中得到的
  [fruit + 'Num'] : 5 //组成ageNum
};
console.log(bag.age);//得到5
console.log(bag.ageNum);//得到5


//属性值简写
function makeUser(name, age) {
  return {
    name: name,
    age: age,
  };
}
let user = makeUser("John", 30);
console.log(user.name); // John
//可以简写成:
function makeUser(name, age) {
  return {
    name,
    age,
    num : 30  //可以混用
  };
}

//in操作符
//JavaScript中不存在的属性也不会报错,会返回undefined
let user = {};
console.log( user.noSuchProperty === undefined ); //true 没有这个属性
console.log("noSuchProperty" in user) //in用法 false 不存在(左边可以是个变量,检查与值同名的属性)
//以上2个方法区别类似于空值合并的情况,当属性存在但值时undefined是第一个方法无法知道。

[查看全文]

现代JavaScript教程的基础快速笔记

发表于:2021-05-26

现代模式

"use strict"; 这条指令应该出现在最前面,否则无法激活

现代 JavaScript 支持 “classes” 和 “modules”,就不需要在使用这条指令,他们默认激活

[查看全文]