你不知道的js笔记
文章平均质量分 75
枫雨血痕
初阶农民工,欢迎各位大佬互相探讨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 · 256 阅读 · 0 评论 -
js闭包浅记
以下解释均为个人理解,有错误之处的话欢迎提出,能给出建议的话万分感激!定义:当函数可以记住并访问所在的词法作用域时,就产生了闭包。即使函数是在当前词法作用域之外执行。例1:function foo(){var a=2;function bar(){console.log(a);//2}bar();}foo();解释:例1产生了原创 2017-12-09 19:54:23 · 111 阅读 · 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 · 1844 阅读 · 0 评论 -
js作用域
js中作用域有全局作用域,函数作用域,还有块级作用域(很少,一般认为没有);什么是作用域?一套设计良好的可以用来存储变量的规则称之为作用域。(来自《你不知道的js》)我通俗认为,就是一个作用范围的意思全局作用域:最顶层的作用域,全局变量和全局中声明的函数都在该作用域。例:var a;//声明全局变量function b(){};//全局中的函数原创 2017-12-07 19:01:59 · 205 阅读 · 0 评论