在IIFE中访问变量

时间:2015-11-20 19:30:06

标签: javascript iife

我正在尝试学习模块模式,并且我已经通过IIFE和访问内部变量遇到了这种情况。

func removeUnexpectedCharactersFromJSONString(jsonString: String) -> String {
    var newStr = jsonString
    newStr = newStr.stringByReplacingOccurrencesOfString("\n", withString: "")
    newStr = newStr.stringByReplacingOccurrencesOfString(" ", withString: "")
    newStr = newStr.stringByReplacingOccurrencesOfString("\t", withString: "")
    return newStr
}

为什么在最后一次输出中没有真的?任何见解都会有所帮助。提前致谢。

1 个答案:

答案 0 :(得分:3)

执行foo IIFE时,bar的值被赋值给变量whatIsBar。此新变量不再与原始bar的值相关。

如果更改为bar,则不会影响whatIsBar。这是一个完全不同的变量。