^ 异或
<< 左移
>> 右移
delete 删除属性
- 不同类型之间“==”比较
- ===在比较对象时,比较的是引用
- toNumber和toPimitive是内部方法
toNumber对不同的类型返回结果如下表
toPrimitive对不同类型返回结果如下
function Book(title, pages) {
this.title = title;
this.pages = pages;
}
// 类申明函数有两种方法
Book.prototype.printTitle = function () {
console.log(this.title)
};
function Book(title, pages) {
this.title = title;
this.pages = pages;
this.printTitle = function () {
console.log(this.title)
}
}
/**
* 在原型上申明函数,只会创建一次,在所有实例中共享,可以节约内存和降低实例化的开销
* 在类定义中申明函数,每个实例都会创建自己的函数副本
*
* 原型上声明只能声明公共函数和属性
* 类定义中声明可以声明只能在类内部访问的私有函数和属性
*/
- ES6函数参数默认值
- 声明展开和剩余参数
- 数组结构
- 变量互换
- 属性简写
- ES6的类声明方式
function Book(title, pages) {
this.title = title;
this.pages = pages;
}
Book.prototype.printTitle = function () {
console.log(this.title)
};
// ES6语法
class Book {
constructor(title, pages) {
this.title = title;
this.pages = pages;
}
printTitle() {
console.log(this.title)
};
}
// 继承
class ITBook extends Book {
constructor(title, pages, technology) {
super(title, pages);
this.technology = technology
}
printTechnology() {
console.log(this.technology)
}
}
// JavaScript的继承是基于原型实现的
// 使用属性存取器(get、set方法)
class Person {
constructor(name) {
this._name = name
}
get name() {
return this._name
}
set name(value) {
this._name = value
}
}
let Json = new Person('Json');
console.log(Json.name);// Json
console.log(Json._name);// Json
Json.name = 'Tom';
console.log(Json.name);// Tom
Json._name = 'Jerry';
console.log(Json.name);// Jerry
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。