![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
你不知道的js笔记
枫雨血痕
初阶农民工,欢迎各位大佬互相探讨IT技术心得体会。
展开
-
欺骗词法
javascript中有两个函数可以在运行时’改变‘(或说欺骗)词法作用域; 1.eval() 例: function a(str,a){ eval(str);//欺骗 console.log(a,b); } var b = 2;//全局变量 a('var b = 3;',1)//调用a()并传参,得1,3 因为调用a()的时候传入的参数'var b = 3;'由原创 2017-11-30 15:31:48 · 237 阅读 · 0 评论 -
js闭包浅记
以下解释均为个人理解,有错误之处的话欢迎提出,能给出建议的话万分感激! 定义: 当函数可以记住并访问所在的词法作用域时,就产生了闭包。即使函数是在当前词法作用域之外执行。 例1: function foo(){ var a=2; function bar(){ console.log(a);//2 } bar(); } foo(); 解释:例1产生了原创 2017-12-09 19:54:23 · 99 阅读 · 0 评论 -
js闭包和for循环
以下解释均为个人理解,有错误之处的话欢迎提出,能给出建议的话万分感激! 在闭包中,for循环是一个经典实例。 例1: for(var i=1;i setTimeout(function timer(){ document.write(i); },1000); } //输出5个6 解释:本意是想通过循环输出12345,但是因为js中for循环没有块级作用域,原创 2017-12-09 19:56:24 · 1808 阅读 · 0 评论 -
js作用域
js中作用域有全局作用域,函数作用域,还有块级作用域(很少,一般认为没有); 什么是作用域? 一套设计良好的可以用来存储变量的规则称之为作用域。(来自《你不知道的js》) 我通俗认为,就是一个作用范围的意思 全局作用域: 最顶层的作用域,全局变量和全局中声明的函数都在该作用域。 例: var a;//声明全局变量 function b(){};//全局中的函数原创 2017-12-07 19:01:59 · 181 阅读 · 0 评论