美文网首页
2.1、 重学前端-笔记

2.1、 重学前端-笔记

作者: 懒羊羊3号 | 来源:发表于2020-04-29 17:13 被阅读0次

    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,它产生宏任务。

    相关文章

      网友评论

          本文标题:2.1、 重学前端-笔记

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