我正在尝试利用 Google 的 AJAX 语言 API 来翻译数组中的每个值。
for(var n=0; n < mytext.length; n++) {
google.language.translate(mytext[n], originalLanguage, newLanguage, function(result){
if(!result.error){
document.getElementById("caption") += mytext[n]+" has been translated to "+result.translation;
}
})
}
这会正确翻译整个数组,但在 google.language.translate 调用的成功函数中,n 始终等于 mycaptions.length。这导致 mycaptions[n] 返回未定义(例如,“已翻译为 Hola”)。这让我困惑了好几天(为什么回调函数中的 n 值总是好像你在循环的末尾???),我猜答案在于我只是不知道的一个明显的编程不明白。