Javascript 如何只获取一次变量中的对象总数?

Javascript 如何只获取一次变量中的对象总数?,javascript,json,api,jsonp,Javascript,Json,Api,Jsonp,我是JS的新手,所以有点纠结于此 $(function () { $.ajax({ url: "some_url", dataType: 'jsonp', success: function (whatever) { var allText = whatever.data._shared.text; for (var i = 0; i &

我是JS的新手,所以有点纠结于此

    $(function () {
        $.ajax({
            url: "some_url",
            dataType: 'jsonp',
            success: function (whatever) {
                var allText = whatever.data._shared.text;
                for (var i = 0; i < allText.length; i++) {
                    var text1 = allText[i];
                    var testHtml = "";
                    testHtml += "";
                    testHtml += "";
                    testHtml += "";
                    $("#text").append(testHtml);
                    document.write(allText.length);
                }

            }

        });

    });
$(函数(){
$.ajax({
url:“一些url”,
数据类型:“jsonp”,
成功:功能(无论什么){
var allText=whatever.data.\u shared.text;
对于(var i=0;i
在一个变量中,我需要返回的对象总数(allText=whatever.data.\u shared.text)

我使用document.write(allText.length)进行了测试;我得到了正确的数字,但结果如下:

20202020202020202020202020202020202020202020202020


因此,它似乎在重复。如何在一个变量中只获得一次实际值,即20,而不是重复

调用
document.write(allText.length)在for循环中,因此每次迭代一次(因此编写它20次)。尝试在for循环之外调用它:

var allText = whatever.data._shared.text;
for (var i = 0; i < allText.length; i++) {
    var text1 = allText[i];
    var testHtml = "";
    testHtml += "";
    testHtml += "";
    testHtml += "";
    $("#text").append(testHtml);
}
document.write(allText.length);
var allText=whatever.data.\u shared.text;
对于(var i=0;i

同时尝试使用浏览器的调试器(一步一步地)了解发生了什么。

for
循环之外打印它。它不依赖于循环中的任何东西。所有这些
testHtml+=”有什么意义行?为什么要将空字符串附加到空字符串?