javascript オブジェクトを http 互換の文字列に変換する関数をプログラムしようとしました。意図したことは達成しましたが、なぜ機能するのかわかりません。私の最終的な機能は次のとおりです。
function paramify (p) {
var n = 0, r = "";
for (var i in p) {
r+=(n++==0?"":"&")+i+"="+p[i];
}
return r;
}
三項演算子のないバージョンは次のとおりです。
function paramify (p) {
var n=0, r="";
for(var i in p){
if(n++!=0){
r+="&"
}
r+=i+"="+p[i]
}
return r;
}
json オブジェクトの例:
{"authToken":"aqsd2","username":"test","password":"1234"}
となります:
authToken=aqsd2&username=test&password=1234
(意図として)
なぜこれが機能するのか、誰かが私に説明してもらえますか? n がすでに 0 のときに n++ が 0 になるとは思っていませんでした。