JavaScript底层
文章平均质量分 70
*星空梦想*
学习前端知识的大学生一枚,偶尔犯病的中二少年
展开
-
js-关于闭包
因为 setTimeout 是个异步函数,所以会先把循环全部执行完毕,这时候 i 就是 6 了,所以会输出一堆 6。闭包是指有权访问另一个函数作用域中变量的函数,创建闭包的常见方法就是在一个函数内部再创建另一个函数,创建的函数可以访问到当前函数的局部变量。例如:函数 A 内部有一个函数 B,函数 B 可以访问到函数 A 中的变量,那么函数 B 就是闭包。在 JS 中,闭包存在的意义就是让我们可以间接访问函数内部的变量。但其实并不推荐使用这种方法来解决,最好的方法还是使用。原创 2023-08-12 16:52:22 · 29 阅读 · 1 评论 -
js-关于原型链
如果在实例中添加一个与实例原型对象同名的属性,那我们就在实例中创建该属性,这个实例属性会阻止我们访问原型对象中的那个属性,但不会修改那个属性。在JavaScript中是使用构造函数来新建一个对象的,每一个构造函数的内部都有一个prototype属性,它的属性值是一个对象,这个对象包含了可以由该构造函数的所有实例共享的属性和方法。当访问一个对象的属性时,如果这个对象内部不存在这个属性,那么它就会去它的原型对象里找这个属性,这个原型对象又会有自己的原型,于是就这样一直找下去,也就是原型链的概念。原创 2023-08-12 15:51:23 · 29 阅读 · 1 评论 -
js-关于this
这四种方式,使用构造器调用模式的优先级最高,然后是 apply、call 和 bind 调用模式,然后是方法调用模式,然后是函数调用模式。this是执行上下文中的一个属性,它指向最后一次调用这个方法的对象。在实际开发中,this 的指向可以通过四种调用模式来判断。它们的作用一模一样,区别仅在于传入参数的形式的不同。原创 2023-07-30 11:17:39 · 29 阅读 · 1 评论 -
js-关于执行上下文与作用域
JavaScript的作用域也就是JavaScript识别变量的范围,作用域链也就是JavaScript查找变量的顺序。原创 2023-07-30 11:00:43 · 26 阅读 · 1 评论 -
js-关于变量提升
所谓变量提升的意思,就是在无论在函数何处位置声明的变量,都好像被提升到了函数的顶部,可以在函数声明之前访问而不会报错。原创 2023-07-24 14:33:12 · 61 阅读 · 0 评论 -
JS底层原理
是不能同时进行的,渲染引擎线程在执行任务是,JS引擎线程会被挂着,因为 JS 可以操作 DOM,与正在渲染中的 DOM 可能发生矛盾。7、JS 解析引擎与浏览器又是什么关系?转载 2023-07-05 20:20:07 · 142 阅读 · 1 评论 -
js-关于数据类型
JavaScript系列,关于数据类型的底层原理原创 2023-07-22 17:43:10 · 32 阅读 · 1 评论