JavaScript押题

103 阅读2分钟

JS的数据类型有哪些

   基本数据类型:String  Number  boolean  unll  undefinded  symbol bigint
   引用数据类型 Object

原型链是什么?

    回答概念题:答题思路为大概念化成小概念(分割)、抽象化成具体(举例)
    
        Myself:这个问题不太好回答、我举个例子吧
        
        let x= {} 这个a会具有一个隐藏的属性 这个隐藏的熟悉会指向Object.prototype
        也就是 x 的原型是Object.prototype 也可以说 Object.prototype是 x 的原型
        
        现在 a = [] 此时a具有一个隐藏的属性,这个隐藏的属性会指向Array.prototype
        也是 a 的原型是Array.prototype 可以说是Array.ptototype是a的原型
        目前 这个数组a 和之前的对象x 描述的是一样的
        
        但是Array.prototype也有一个隐藏的属性 指向的是 Object.prototype
        现在一来 a 就有两层原型 :
        a 的原型是 Array.prototype
        a 的原型的原型是 Object.prototype
        于是这个隐藏的属性就形成了一个链条 这个链条就叫原型链
        
        

JS中的new做了什么

    1、创建了一个临时对象
    2、绑定原型
    3this指向了这个临时对象
    4、执行构造函数
    5、返回这个临时对象

JS的立即执行函数是什么

    声明一个函数,然后立即调用这个匿名函数、就是立即执行函数
    
    立即执行函数的作用:创建了一个独立的作用域,这个作用域里面的变量,外部访问不到(避免了变量污染)
    

JS的闭包是什么 怎么用?

1、闭包是隐藏局部变量的一种技术
    
    在JavaScript中 所有函数都能访问上层作用域 通常使用 函数 嵌套 函数 使里面的函数引用外部的变量
    然后外部函数 以对象的形式把内部函数返回出去 这样就可以使函数外部访问内部函数的数据
    
    功能:在函数外可以访问函数内部的数据
    缺点:用的不好容易造成内存泄漏 IE老版本浏览器中

如何实现类

JS如何实现继承

JS的事件循环eventLoop

1、

await/async

1、await 后面所跟上的 js代码 都会立即执行  如果包装的是一个promise就不会new promise
    如果不是一个 promise 就会 new promise 然后作为第一个参数传进去