函数的返回值可以是JavaScript中的左值吗?

rpl*_*iko 3 javascript lvalue jscript

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

var sh = WScript.CreateObject("Wscript.Shell");
var env = sh.Environment("PROCESS");
env("TEST") = "testvalue";
Run Code Online (Sandbox Code Playgroud)

我想知道第三行 - 和我一起使用JSLint,它将这行称为"Bad Assigment".

但它的确有效!

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

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

geo*_*org 7

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

<...>分配的左侧操作数应该产生一个引用.<...>允许函数调用返回引用.纯粹为了宿主对象而承认这种可能性.此规范未定义的内置ECMAScript函数返回引用,并且没有为用户定义的函数提供返回引用的规定.http://es5.github.io/#x8.7