
程序员
zengyushan
这个作者很懒,什么都没留下…
展开
-
你不知道的javascript读书笔记--词法作用域之欺骗词法
词法作用域是由你写代码时将变量和块作用域写在哪里来决定的。作用域气泡,由对应的作用域代码写在哪里来决定。气泡里嵌套气泡,形成内外层级。词法作用域只会查找一级标识符,例如a.b.c,找到a时,b开始就是调用属性的方式了。如何欺骗词法作用域,就是说如何在运行时来“修改”词法作用域?(注意:欺骗词法作用域会导致性能下降)一:1 eval可以将字符串当作书写时就存在于程序中的代码一样来执行。 但是在严格模式中,eval在运行时有自己的词法作用域,所以无法生效了。...原创 2020-06-17 23:22:32 · 240 阅读 · 0 评论 -
你不知道的javascript读书笔记--LHS和RHS
RHS:获取它的源值。例如console.log(a),就是获取a的源值,获取到了才能打印。LHS:找到变量的容器本身,例如var a=2,=号左边就是找到a容器,因为有了a才能进行=号右边的操作。*非严格模式下,RHS找不到该变量的值,会抛出ReferenceError(与作用域判别失败相关)。LHS找不到变量,会自动创建这个全局变量。*严格模式下,LHS也会抛出ReferenceError。*如果RHS找到了变量值,但是接下来的操作不合法,会抛出TypeError。var a .原创 2020-06-17 21:35:42 · 216 阅读 · 0 评论