5

Microsoft 允许使用以下语法在 JScript 中设置环境变量:

var sh = WScript.CreateObject("Wscript.Shell");
var env = sh.Environment("PROCESS");
env("TEST") = "testvalue";

我想知道第三行——还有 JSLint,它把这行称为“错误分配”。

但它有效!

将函数的返回值作为左值(如这里)是否兼容 ECMAscript 标准?

如果是:如何编写这样的函数?

4

1 回答 1

8

是的,标准允许函数返回引用。不,你不能用 Javascript 编写这样的函数。;)

<...> 赋值的左侧操作数预计会产生引用。<...> 函数调用被允许返回引用。这种可能性纯粹是为了宿主对象而被承认的。本规范定义的内置 ECMAScript 函数没有返回引用,也没有规定用户定义的函数返回引用。http://es5.github.io/#x8.7

于 2013-05-22T08:31:12.203 回答