![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
js
文章平均质量分 67
web-chubby
前端使我快乐!!!
展开
-
setTimeout 设置1秒,1秒后一定会执行吗?
这个问题是个比较常会被问到的一个面试题,我们直接来看代码这里为了直观的看到效果,在咱们设置为0秒。setTimeout(function() { console.log("计时器执行")}, 0)for (var i = 0; i < 1000000000; i++) { if (i == 999999999) { console.log(i); }}这里可以看到大约过了俩秒后,控制台才显示出 999999999,其次才显示出 “计时器执行”。可能有些人就会说了,你的电脑配置原创 2021-04-20 14:32:57 · 1681 阅读 · 0 评论 -
深入理解 javascript 作用域链(Scope Chain)
前言:作用域和作用域链这块的东西,是不管在工作中还是面试中最常问到的一个问题。今天就接着上一篇深入理解JavaScript作用域来继续说一下。作用域链在JavaScript中,函数也是对象,实际上,JavaScript里一切都是对象。函数对象和其它对象一样,拥有可以通过代码访问的属性和一系列仅供JavaScript引擎访问的内部属性。其中一个内部属性是[[Scope]],该内部属性包含了函数被创建的作用域中对象的集合,这个集合被称为函数的作用域链,它决定了哪些数据能被函数访问。作用域链决..原创 2020-09-08 16:41:09 · 212 阅读 · 0 评论 -
深入理解JavaScript作用域
前言对于许多新手开发者来说,作用域的概念并不是很容易理解。这个东西也是面试中会比较常问的问题。这篇文章来为大家说一下作用域。作用域任何程序设计语言都有作用域的概念,简单的说,作用域就是变量与函数的可访问范围,即作用域控制着变量与函数的可见性和生命周期。换句话说作用域决定了代码区块中变量和其他资源的可见性让我们先来看个例子function fn() { var variable = "内部变量";}fn();//先执行函数console.log(variable);//报错 v原创 2020-09-08 16:36:21 · 173 阅读 · 0 评论 -
详解 javascript 变量提升
前言:变量提升是在面试中常见被问到的问题,今天就来说一下这个问题。一、概念使用 var 来声明变量的时候,会提到当前作用域的顶端,赋值语句在原地等待赋值。javascript 在执行的时候会分为两部分:预编译阶段:js 在变量声明提升的时候,会将 var 声明的变量以及用关键字函数声明的函数都会提升到当前作用域的顶端,赋值语句在原地等待赋值。这里要注意:如果变量名与函数相同的情况下,函数的优先级大于变量执行阶段:自上而下执行案例:<body> <in原创 2020-09-08 16:24:31 · 108 阅读 · 0 评论