
js
萤火虫 ✨
这个作者很懒,什么都没留下…
展开
-
js只有词法作用域,没有动态作用域
function foo(){ console.log(a); }function bar(){ var a=3; foo();}var a=2;bar();上面的代码,控制台输出2,说明 JavaScript 没有动态作用域,只有词法作用域。函数在申明时就决定了它的作用域,而不是在调用时,这就导致函数在功能封装上要注意不要随意引用外部变量。不过通过改变 this 可以一定缓解没有动态作用域的情形。主要区别:词法作用域是在写代码或者说定义时确定的,而动态作原创 2021-09-10 13:07:24 · 100 阅读 · 0 评论 -
js数字转化为字符串
转载 2021-09-09 16:43:06 · 662 阅读 · 0 评论 -
js中的各种遍历
forEach()方法不会返回执行结果,而是undefined。也就是说,forEach()会修改原来的数组。而map()方法会得到一个新的数组并返回。原创 2021-09-09 16:13:15 · 164 阅读 · 0 评论 -
let和var的区别
let不存在变量提升,var存在let同一个作用域不能重复定义同一个名称,var不可以有严格的作用域,块级作用域原创 2021-09-09 10:59:15 · 128 阅读 · 0 评论 -
全局变量和局部变量作用域,声明提升,this指向
原创 2021-09-09 10:14:59 · 143 阅读 · 0 评论