2016-12-14 50 views
2

我被这个javascript卡住了。我要使它看起来像这样(提示名称,例如彼得)Javascript金字塔名称显示

p pe pet pete peter pete pet pe p

我的JavaScript看起来像这样

这是学校,这不是所必要的,以使脚本对我来说却苦于你告诉我我做错了什么?我没有得到任何结果。

谢谢!

锐珂

var naam = parseInt(prompt("typ hier je naam")); 
    var lengte = naam.length; 
    var x = 0; 

    for (x = 0; x <lengte; x++) { 
     document.write("<br>" + naam.substring(0,x)); 
    } 

回答

1

parseInt轮流键入的数字为实际的数字。它看起来像你正在使用parseInt对实际的字母 - 这将返回NaN,因此不会按预期为您工作。

如果您删除parseInt,您将得到一个结果。

var naam = prompt("typ hier je naam"); 
 
var lengte = naam.length; 
 
var x = 0; 
 

 
for (x = 0; x <lengte; x++) { 
 
    document.write("<br>" + naam.substring(0,x)); 
 
}

+0

它不破JS,它返回NaN其中有不确定的长度 – mplungjan

0

你并不需要解析的提示返回的字符串,它返回一个字符串,你可以从它使用.length得到的长度。

var naam = prompt("typ hier je naam"); 
0

我花了一段时间才能看到你的parseInt函数是肯定的不是你想要的,因为它返回NaN(非数字),它具有的不确定

的长度也不要使用文件撰写 - 如果您在加载页面后调用页面,它会擦除​​页面。

var div = document.getElementById("naam"), naam = prompt("typ hier je naam"); 
 
for (var i = 0; i < naam.length; i++) { 
 
    var chars = naam.substring(0, i); 
 
    div.innerHTML+="<br>" + chars; 
 
} 
 
for (var i = naam.length; i>=0; i--) { 
 
    var chars = naam.substring(0, i); 
 
    div.innerHTML+="<br>" + chars; 
 
}
<div id="naam"></div>

1

试试这个:

var naam = prompt("typ hier je naam"); 
 
    var lengte = naam.length; 
 
    var x = 0; 
 

 
    for (x = 0; x <=lengte; x++) { 
 
     document.write("<br>" + naam.substring(0,x)); 
 
     if(x==lengte) 
 
      for(var y = naam.length; y>=0; y--){ 
 
       if(y!=naam.length) 
 
        document.write("<br>" + naam.substring(0,y)); 
 
      } 
 
    }