我正在尝试学习模块模式,并且我已经通过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
}
为什么在最后一次输出中没有真的?任何见解都会有所帮助。提前致谢。
答案 0 :(得分:3)
执行foo IIFE时,bar
的值被赋值给变量whatIsBar
。此新变量不再与原始bar
的值相关。
如果更改为bar
,则不会影响whatIsBar
。这是一个完全不同的变量。