是否仅仅是在写一个变量?
答案 0 :(得分:15)
这不是JavaScript中正式定义的术语,但我发现它最常用于引用直接上下文之外的某些状态更改。例如,以下代码在执行后不会导致状态发生变化,因此它将被视为“副作用免费”:
(function() {
// no side-effects, foo won't exist once this function is done executing
var foo = 'bar';
})();
...而在下面的代码中有副作用,因为引入了一个全局变量:
(function() {
// no var keyword, so global variable created
foo = 'bar';
})();
答案 1 :(得分:4)
我不认为该术语在JavaScript中具有特殊的,独有的定义含义。它可以与everywhere else相同。
答案 2 :(得分:0)
我会把它称为“状态被改变”,但是,基本就是这样。与它相反的是只读访问。