1. 首页
  2. 编程语言
  3. Javascript
  4. 详细讨论JavaScript中的求值策略

详细讨论JavaScript中的求值策略

上传者: 2022-07-30 20:20:49上传 PDF文件 75.21 KB 热度 7次

最近在研究 lambda演算 中的 η-变换 在JavaScript中的应用,偶然在 stackoverflow 上看到一个比较有意思的问题。如果说JS中函数的参数传递是按引入传递,那函数changeStuff内部所做的改变将会影响到函数外部所有的变量定义,num将会变成100、obj2.item将会变成changed。很显然实际不是这样子的。所以不能说JS中函数的参数传递严格按值传递或按引入传递。JS中还采用一种参数传递策略,叫按共享传递。所以重新赋值将不会影响到外部对象。-- 《JavaScript高级程序设计》延伸 - 惰性求值前面了解到了所有函数的参数都是按值传递的。JavaScript 中参数是必须先求值再作为实参传入函数的。但是在ES6中有一个特例。这时,每次调用函数foo,都会重新计算x + 1,而不是默认p等于 100

下载地址
用户评论