美文网首页数据结构和算法
第1章 JavaScript 简介

第1章 JavaScript 简介

作者: 晓风残月1994 | 来源:发表于2020-08-05 20:59 被阅读0次

1. JavaScript 基础

1.1 真值和假值

数值类型 转换成布尔值
undefined false
null false
布尔值 true是true,false是false
数字 +0、-0和NaN都是false,其他都是true
字符串 如果字符串长度为0就是false,否则是true
对象 true

1.2 相等和全等操作符

1.2.1 相等操作符 ==

如果是相同类型,则比较值,否则其他不在下表中的情况都返回 false。

类型(x == y) 结果
null == undefined true
字符串 == 数字 toNumber(y) == x
布尔值 == 任何类型 toNumber(x) == y
对象 == 字符串或数字 toPrimitive(x) == y

1.2.2 全等操作符 ===

类型不同都是false,类型相同则比较值或者是否引用同一对象,除了 NaN !== NaN。

1.3 控制语句

if...else switch while do...while for
注意 swtich 的值和 case 是采用全等 === 进行比较;do...while 至少会让循环体中的代码执行一次

1.4 JavaScript 面向对象编程

JavaScript 里的对象就是普通名值对的集合,后面创建的所有的类,如 Stack、Set、LinkedList、Dictionary、Tree、Graph 等,都是 JavaScript 对象。

1.5 ES6 的新功能

var、let、模板字符串、箭头函数、函数的参数默认值、声明展开和剩余参数,Set、Map、WeakSet、WeakMap、Symbol 等等。
数组解构进行值的交换:[x, y] = [y, x]。

1.5.1 使用类进行面向对象编程

function Book(title, pages) {
  this.title = title;
  this.pages = pages;
}
Book.prototype.printTitle = function() {
  console.log(this.title);
};

使用 ES6 Class 进行简化:

class Book {
    constructor(title, pages) {
        this.title = title;
    this.pages = pages;
    }
  printTtile() {
    console.log(this.title);
  }
}

继承:
使用 extends 关键字扩展一个类并继承它的行为,在构造函数中,通过 super 关键字引用父类的构造函数。
当然,JS 中的面向对象编程是基于原型实现的,并不是真的和 Java、C++ 一样。

class ITBook extends Book {
    constructor(title, pages, technology) {
    super(title, pages);
    this.technology = technology;
  }
  
  printTechnology() {
    console.log(this.technology);
  }
}

let jsBook = new ITBook('学习js算法', '200', 'JavaScript');

相关文章

网友评论

    本文标题:第1章 JavaScript 简介

    本文链接:https://www.haomeiwen.com/subject/spaorktx.html