JS的一些高级特性,比如作用域链,内存空间,闭包等等可以参考什么语言来理解?因为我了解JS的原型继承在设计的时候有参考IO这门语言,IO是一门,个人觉得是比JS好理解好多的语言,因为它太简单了。我参考着IO来理解JS的原型继承,原型链和对象方面的内容的话,发现理解的更好,更深刻。虽然JS的其他特性网上有很多的文章来解答,但是发现总是有点深奥,所以希望有人可以推荐下和它类似的语言,但是比较好理解的,然后我去参考着理解。之前在简书上看到一个系列讲解js的文章,说的非常详细,但是发现他讲的内存空间等等内容我还是不能很好的理解,自己的水平有限,求推荐?
2 回答
萧十郎
TA贡献1815条经验 获得超13个赞
内存不用太纠结,不同的引擎实现有可能不同,重点是关心常用的数据结构就好,JS 里最常用的无非也就是数组(功能兼容数组、列表、队列、栈)和对象(功能兼容字符串键的Hash表)。
作用域链可以简单的理解,哪写的代码就在其所在的 function 函数体有效(var
),而后来的 const
和 let
是块级作用域,即在最近的 {}
内有效,注意一下函数申请和变量申明提升的问题,关于这个可以参考 C# 或 Java,都差不多。
只要函数是一等公民的语言(即函数可以当作引用来传递),基本上都存在闭包。闭包同样遵循上面的原则,写代码的时候,它是在哪个作用域内,运行的时候它就可以访问哪个作用域内的变量。只是在 this
这个问题上要麻烦一点,可以参考:JavaScript 的 this 批向问题深度解析
添加回答
举报
0/150
提交
取消