阮一峰ES6教程笔记

208 阅读4分钟
  • concept

    1.脚本语言的概念和版本

    2.数据类型种类和区别 ,哪七个

  • 异常

    1. 顺序 try块里面的return(返回值会被记录) finally的代码(return会覆盖) 异常提示信息
    2. 异常的常见类型和处理
  • 未分组

    1. 对象就是一层层运行环境 函数可以获取所在运行环境中的变量 和 作用域链上的变量
    2. 严格模式下this禁止指向顶层对象
    3. 静态方法和实例方法是什么
    4. 数组中空和未定义的区别
  • 数据类型

    1. JS只有浮点数
  • 数据类型转化

    1. Number函数和parseInt的区别
    2. 函数被当做构造函数和转换函数的不同 特别是布尔函数
    3. 有些方法必须要特定类型的参数(传入后会进行类型转化,可能会报错)
    4. 自动类型转化和强制类型转化问题
    5. null空对象 可以转化为零 undefind不行
    6. 包装类型的对象自定义方法只能放在其原型上。自动转化的包装类对象即用即销。
  • 函数

    1. 作用域和运行环境区别
    2. IIFE和闭包的区别和用处
    3. 作用域链与闭包
    4. 动态切换函数的this指向 中间变量 内部方法通过bind方法绑定this 回调函数中不用this
    5. 箭头函数的使用
    6. 变量声明提升
  • 运算符

    1. 复合类型的值转换为原始类型的值,再转换为数值类型的值
    2. +运算符会根据运算子的不同发生重载 其他情况下一律运算子转为数值类型
    3. ()用于改变优先级和调用函数 消除歧义让引擎理解为表达式而非语句 无运算功能
    4. void运算符 执行表达式不返回值
    5. 在比较中涉及的自动类型转换问题
    6. 相等比较和非相等比较。两者的规则是不一样的 运算子是对象情况下相等(严格相等)比较的是地址值,其他情况转化为数值类型(有些情况是字符串)的值进行比较。 非相等字符串间Unicode点比较
    7. 位运算运算子只能是整数参与计算
  • 标准库

    1. 数组 字符串 数值 等原生对象的静态方法和实例方法有哪些
    2. 常见原生对象有哪些?其中Object对象的静态方法和实例方法?其中哪些被其他原生方法重写?
    3. 如何才能使用被覆盖的实例方法 ?【call方法调用】
    4. 字符串,agruements等类数组对象可以巧妙使用数组的方法
    5. 属性名对应一个属性描述对象
    6. 调用方法是在原数据上更改,还是返回一个新数据
    7. 对象的toString方法和valueOf方法返回值
    8. 实例方法toFixed由于小数存储不准问题,四舍五入不精确的问题
    9. Math常用的静态属性和方法
    10. 对象变成原始类型的值
    11. JSON 对值的类型和格式有严格的规定
    12. 对于原始类型的字符串,转换结果会带双引号。
  • 面向对象编程

    1. 函数与构造函数的区别

    箭头函数

  • this就是函数调用的上下文

    1. 纯粹函数:this 传的 context 是 null 或者 undefined,那么 window 对象就是默认的 context(严格模式下默认 context 是 undefined)。

    2. 对象中函数的调用

    obj.greet() //第一种调用方法 obj.greet.call(obj) //第二种调用方法 第一种调用方法只是第二种调用方法的语法糖 ,第二种方法厉害的地方在于它可以手动指定this。

    构造函数稍微特殊一点,它的this直接指向new之后返回的对象;window.setTimeout()和window.setInterval()默认的是this是window对象。

  • row function

    箭头函数是没有this的,你在箭头函数里使用this就像使用普通变量一样,在箭头函数的scope内找不都会一直向父scope寻找。(父函数的this)箭头函数只能用赋值式写法,不能用声明式写法

  • bind() 方法会创建一个新函数,当这个新函数被调用时,它的 this 值是传递给 bind() 的第一个参数, 它的参数是 bind() 的其他参数和其原本的参数。 www.webhek.com/post/javasc…