预警:【你不知道的javascript】开头的文章,是用来总结书籍《你不知道的Javascript》中我不熟悉的知识,单纯的用来巩固学到的知识,和加深记忆。
可能有些地方我理解得不透彻,所以不能够保证内容的正确性,欢迎指正。
重点知识:
- 词法作用域
- 取决于 你写代码的位置,一行代码写完之后 词法作用于就确定了
- 对比this指针,this是由调用的位置决定的
- 改变 词法作用域
- eval
- eval(str) 可以动态的把str转成一段代码
- 警告你,这个可千万别用了,别问为什么了,毫不犹豫的抛起它就行
- new function
- new function(str1. str1..) 最后一个参数一定是函数体,其余参数都作为传给函数体的参数。
- 深入 JS new Function 语法 « 张鑫旭-鑫空间-鑫生活
- 这个我相信很多人也根本不知道,而且根本不会用到,但是在很多框架的源码中也有用到,比如vue的模版解析中,https://juejin.cn/post/6959019076983209992
- with
- with(obj) 可以把一个对象处理为词法作用域
- 我们一般用不到with,但是在 vue源码中的 渲染函数 用到了 with
- 参考 在Vue源码中如何使用With - 编程语言 - 亿速云
- 至少你应该知道 js 中有这么一个语法
- eval
本文探讨了JavaScript中的词法作用域原理,包括其确定方式和与this的区别。重点介绍了eval、newFunction和with的用法,以及它们在特定场景下的作用和潜在风险。通过实例讲解,帮助巩固和记忆复杂概念。
820

被折叠的 条评论
为什么被折叠?



