2.1、 重学前端-笔记

JS部分

1、undefined和null
首先js的undefined是一个变量,并非关键字,是一个设计失误。undefined表示从未赋值的自然状态,null表示定义了但是是空。
2、字符串是UTF16
3、number(264-253+3),符合IEEE745双精度浮点数
4、Symbol,一切非字符串的对象key的合集


    var o = new Object

    o[Symbol.iterator] = function() {
        var v = 0
        return {
            next: function() {
                return { value: v++, done: v > 10 }
            }
        }        
    };

    for(var v of o) 
        console.log(v); // 0 1 2 3 ... 9

5、类型判定和转换


image.png

判断数组的方法

// 装箱转换,基本类型转换为对应的对象,Array天生是对象
1. arr isntanceof Array
2.arr.__proto__  === Array.prototype
// 每一类装箱对象皆有class属性
3.  arr.constructor === Array
4.  Object.prototype.toString.call(arr) === '[object Array]'
5.  Array.isArray(arr)

6、js对象两类属性
数据属性:value\writable\enumerable/configurable
访问器属性:getter\setter\enumerable/configurable

7、js原型
Object.create 根据指定的原型创建新对象,原型可以是 null;
Object.getPrototypeOf 获得一个对象的原型;Object.setPrototypeOf 设置一个对象的原型。

8、内置对象


image.png

9、事件循环,宏任务,微任务
Promise 产生的是 JavaScript 引擎内部的微任务,而 setTimeout 是浏览器 API,它产生宏任务。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 面向对象的语言有一个标志,那就是它们都有类的概念,而通过类可以创建任意多个具有相同属性和方法的对象。ECMAScr...
    DHFE阅读 4,572评论 0 4
  • 概要 64学时 3.5学分 章节安排 电子商务网站概况 HTML5+CSS3 JavaScript Node 电子...
    阿啊阿吖丁阅读 13,124评论 0 3
  • 序 从最近的js入门系列的阅读量逐步递减,观众老爷的兴趣也不再能够接受一些细节性的地方深度挖掘,让我有了一些思考。...
    zhaolion阅读 5,534评论 5 19
  • 第一章 错误处理: 错误: 程序运行过程中,导致程序无法正常执行的现象(即bug) 现象: 程序一旦出错,默认会报...
    fastwe阅读 4,844评论 0 1
  • 首先一个是对JS中Object的理解:JavaScript中函数是一等公民,写在代码中的 Array/Object...
    皮皮坤666阅读 5,617评论 0 3