Javascript 为什么我会得到一个未定义的?
因此,我在一个链接到html页面的.js文件中创建了一个函数,这是我的函数:Javascript 为什么我会得到一个未定义的?,javascript,undefined,Javascript,Undefined,因此,我在一个链接到html页面的.js文件中创建了一个函数,这是我的函数: function produitListe1(x){ var x = new String("25678"); var a = x.split(", "); var sResultat; for(var i=0; i < x.length;i++){ sResultat = sResultat + ("<ul>" + "<li>" + x
function produitListe1(x){
var x = new String("25678");
var a = x.split(", ");
var sResultat;
for(var i=0; i < x.length;i++){
sResultat = sResultat + ("<ul>" + "<li>" + x[i] + "</li>" + "</ul>");
}
return sResultat;
}
当我加载页面时,我在不同的li上得到了我的字符串。但是我在顶部得到了一个随机的未定义调用,为什么?因为第一次执行for循环时,
sResultat
还没有被赋值(因此是未定义的),而您正在将它赋值给自己(未定义的)+(“”+“- ”+x[I]+“
”“
”
尝试将sResultat
初始化为空字符串(var sResultat=“”;
),而不仅仅是var sResultat;
x
,则该参数的意义是什么function produitListe1(){
var sResultat = ""; // this should be initialized
for(var i = 0; i < arguments.length; i++) {
sResultat += "<ul><li>" + arguments[i] + "</li></ul>"; // += is better
}
return sResultat;
}
您应该使用空字符串初始化
sResultat
var sResultat = '';
函数produitlist1(){
var sResultat='';
for(var i=0;i”+“”+参数[i]+” “+””);
}
返回sResultat;
}
(功能(){
document.getElementById(“out”).innerHTML=produitList1(2,5,6,7,8);
})();
<25678.split(',')
与“25678.split()
尝试执行x=undefined+“foo”
并查看x
的值。arguments对象实际上更方便!谢谢!
var sResultat = '';