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

时间:2013-05-22 08:28:44

标签: javascript jscript lvalue

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

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

我想知道第三行 - 还有我的JSLint,它将这行称为“Bad Assigment”。

但它有效!

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

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

1 个答案:

答案 0 :(得分:7)

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

  

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