• 20211116js问题一些整理


    1.操作dom元素有哪些方法?

    createElement   创建一个标签节点
    createTextNode  创建一个文本节点
    cloneNode       复制一个节点
    appendChild     追加子元素
    insertBefore    将元素插入前面
    removeChild     删除子元素
    replaceChild    替换子元素
    getAttribute    获取节点属性
    createAttribute 创建属性
    setAttribute    设置节点属性
    romoveAttribute 删除节点属性
    

    2.JS的作用域及作用域链

    **在js中,作用域分为全局作用域和函数作用域**
    全局作用域:代码在程序任何地方都可以访问。
    函数作用域:在固定的代码段才能进行访问。
    作用域链:如果在当前作用域内没有查到值,就会向上级作用域去查,直到查到全局作用域。
    

    3.数组的splice 与 slice 的区别?

    splice:splice(start,num,a,b):支持四个参数,从start索引开始,截取num个元素,并会吧a,b查到原数组内,影响到原数组。
    
    slice:slice(start,end):支持两个参数,从start开始截取到end-1,如果没有end,则从start截取到最后。
    
    

    4.substr 和 substring 的区别?

    substr:substr(start,length):返回从start开始length长度的字符串
    
    substring:substring(start,end):返回从start开始到end结束的字符串(不包含end)
    

    5.什么是Promise?解决了什么问题?

    阮一峰promise

    手写promise原理

    有什么用呢?

    1、解决回调地狱问题

    2、代码可读性提高

    3、你可以信任Promise,它的状态只会改变一次并且不可逆

    6.什么是async/await?解决了什么问题?

    阮一峰async

    async/await原理

    用同步方法执行异步代码

    7.JS延迟加载的方法有哪些?

    1.给script标签加async属性,则加载和渲染后续文档元素的过程将和 script.js 的加载与执行并行进行(异步)
    2.给script标签加defer属性,加载后续文档元素的过程将和 script.js 的加载并行进行(异步),但是 script.js 的执行要在所有元素解析完成之后,DOMContentLoaded 事件触发之前完成
    3.动态创建script标签:等到DOMContentLoaded 事件触发时,生成一个script标签,渲染到页面上上
    4.setTimeout定时器延迟代码执行
    

    8.new操作符为什么能创建一个实例对象?

    分析一下new的整个过程:

    1、创建一个空对象
    2、继承构造函数的原型
    3、this指向obj,并调用构造函数
    4、返回对象

    function myNew (fn, ...args) {
        // 第一步:创建一个空对象
        const obj = {}
    
        // 第二步:继承构造函数的原型
        obj.__proto__ =  fn.prototype
    
        // 第三步:this指向obj,并调用构造函数
        fn.apply(obj, args)
    
    
        // 第四步:返回对象
        return obj
    }
    
    

    9.宏任务与微任务有哪些?

    宏任务:setTimeout,setInterval,setImmediate,requestAnimationFrame
    微任务:Promise,prototype,then,catch,finally,nextTick

    10.宏任务与微任务的执行顺序?说说EventLoop

    setTimeout+Promise+Async输出顺序?很简单呀!

    11.箭头函数与普通函数的区别?

    1、箭头函数不可作为构造函数,不能使用new
    
    2、箭头函数没有自己的this
    
    3、箭头函数没有arguments对象
    
    4、箭头函数没有原型对象
    

    12.函数的length是多少?

    函数的length是多少?

    13.JS中如何将页面重定向到另一个页面?

    1、使用 location.href:window.location.href =“www.onlineinterviewquestions.com/”
    
    2、使用 location.replace: window.location.replace(" www.onlineinterviewquestions.com/;");
    
    3. 使用window.open
    

    常用的正则表达式有哪些

    有了这25个正则表达式,代码效率提高80%

  • 相关阅读:
    python中常用的数据类型之整型(int),浮点型(float), 布尔值(bool), 复数(complex)
    requests库的基础使用
    socket,urllib,urllib3,request多种方法请求网页首页
    nginx日志切割
    gitlab社区版安装
    批量修改文件编码
    lvm磁盘扩展及添加磁盘lvm分区
    函数
    集合
    数据类型练习题
  • 原文地址:https://www.cnblogs.com/loveliang/p/15561614.html
Copyright © 2020-2023  润新知