Javascript 循环创建未定义的项

Javascript 循环创建未定义的项,javascript,Javascript,这是我的密码: var instrukceTexty = [ ["Nadpis", "Text instrukce"], ["Nadpis 2", "Text instrukce 2"], ["Nadpis 3", "lorem"] ]; function zobrazInstrukci ( ) { var obrazovka; for ( var i = 0; i < instrukceTexty.length; i += 1 ) { obrazovka

这是我的密码:

var instrukceTexty = [
  ["Nadpis", "Text instrukce"],
  ["Nadpis 2", "Text instrukce 2"],
  ["Nadpis 3", "lorem"]
];

function zobrazInstrukci (  ) {
  var obrazovka;

  for ( var i = 0; i < instrukceTexty.length; i += 1 ) {
    obrazovka += '<div><h1>' + instrukceTexty[i][0] + '</h1>';
    obrazovka += '<p>' + instrukceTexty[i][1] + '</p></div>';
  }

  document.write( obrazovka );
}



zobrazInstrukci(instrukceTexty);
var instrukceTexty=[
[“Nadpis”、“文本指令”],
[“Nadpis 2”,“文本指令2”],
[“Nadpis 3”,“lorem”]
];
函数zobrazInstrukci(){
var obrazovka;
对于(变量i=0;i';
}
文件编写(obrazovka);
}
zobrazInstrukci(Instruketexty);

如果在第一个div未定义文本之前运行它。我不知道为什么

因为您正在附加到
未定义的

更换这条线

var obrazovka;


变量
obrazovka
已声明但未初始化。尝试将未初始化的变量用作字符串将返回字符串“undefined”

要解决这个问题,只需给它一个字符串值nothing<代码>var obrazovka=''并且您的代码应该可以工作。

var instrukceTexty=[
var instrukceTexty = [
  ["Nadpis", "Text instrukce"],
  ["Nadpis 2", "Text instrukce 2"],
  ["Nadpis 3", "lorem"]
];

function zobrazInstrukci (instrukceTexty) {
  var obrazovka='';

  for ( var i = 0; i < instrukceTexty.length; i += 1 ) {
    obrazovka += '<div><h1>' + instrukceTexty[i][0] + '</h1>';
    obrazovka += '<p>' + instrukceTexty[i][1] + '</p></div>';
  }

  document.write( obrazovka );
}
zobrazInstrukci(instrukceTexty);
[“Nadpis”、“文本指令”], [“Nadpis 2”,“文本指令2”], [“Nadpis 3”,“lorem”] ]; 函数zobrazInstrukci(instruksetexty){ var obrazovka=“”; 对于(变量i=0;i'; } 文件编写(obrazovka); } zobrazInstrukci(Instruketexty);

函数参数丢失,请尝试以下代码

初始化变量“obrazovka”时不带任何值,以便从技术上讲它具有未定义的值。然后将html附加到未定义的

// equivalent to var obrazovka = undefined;
var obrazovka;
一种解决方案是使用默认值初始化此变量,例如

var obrazovka = "";
或者,如果您能够使用ES2015功能,则将其设置为功能的默认参数,例如:

function zobrazInstrukci (instrukceTexty = [], obrazovka = "" ) {

  for ( var i = 0; i < instrukceTexty.length; i += 1 ) {
    obrazovka += '<div><h1>' + instrukceTexty[i][0] + '</h1>';
    obrazovka += '<p>' + instrukceTexty[i][1] + '</p></div>';
  }

  document.write( obrazovka );
}
函数zobrazInstrukci(instrukceTexty=[],obrazovka=”“){
对于(变量i=0;i';
}
文件编写(obrazovka);
}

只是一个旁注!!,document.write并不是操纵DOM的理想方法,对于像这样的小事情来说,这不是什么大问题,但要注意,如果应用程序变得更大,我建议避免这样做。
function zobrazInstrukci (instrukceTexty = [], obrazovka = "" ) {

  for ( var i = 0; i < instrukceTexty.length; i += 1 ) {
    obrazovka += '<div><h1>' + instrukceTexty[i][0] + '</h1>';
    obrazovka += '<p>' + instrukceTexty[i][1] + '</p></div>';
  }

  document.write( obrazovka );
}