我在JS方面相當生疏,最近遇到了一個我不明白的問題,所以我希望有人能向我解釋這個。想知道替換後的「null」
var aList = {a:"aaa", b:"bbb", c:"ccc", d:null}
var aString = "a";
var anotherString = "d";
如果我取代以下方式ASTRING:
aString.replace(aString, aList[aString]);
我得到預期的 「AAA」。但是,如果我這樣做
anotherString.replace(anotherString, aList[anotherString]);
它會導致「null」而不是null,正如我所料。爲什麼是這樣?
編輯:注意到我實際上忘記了對象中的空值。對不起大家。我責怪它在清晨:)
但是你最後的替換結果是字符串'「ddd」'......更一般地說,一個字符串替換應該總是導致一個字符串,而不是'null'。 – nnnnnn
http://jsbin.com/lubedec/1/edit?js,console - 我不知道你爲什麼期望它是'null',但它不是'null''。 – Quentin
是的,結果是'「ddd」',而不是'null'或'「null」' – MrFabio