int counter = 0;
// with side effect
int incCounter() {
counter += 1;
return counter;
}
// without side effect
int incNumber(int m) {
return m + 1;
}
以上代码中 第一个incCounter 修改了自身作用域外的变量值,影响了外部环境,
incNumber 则返回一个新值 不影响外部环境
总的来说就是
它修改了其范围之外的某些状态,或与它的调用函数或外部环境有可观察的交互
网友评论