<html>
<head>
<title>This is the 3rd html</title>
<!--Wei Wu section A-->
<h1>This program wraps your text</h1>
<script type="text/javascript">
/*function arrayToStr(){
var word = []
}*/
function splitString(stringToSplit, separator) {
arrayOfStrings = stringToSplit.split(separator); //注意这儿能不能用
document.write(arrayOfStrings + "<br>");
/*'The original string is: "' + stringToSplit + '"';
'The separator is: "' + separator + '"')
'The array has ' + arrayOfStrings.length + ' elements: ' + arrayOfStrings.join(' / '))*/
}
function longestWord(){
longest = arrayOfStrings[0].length;
for (i=1; i<arrayOfStrings.length; i++){
if(longest<arrayOfStrings[i].length){
longest = arrayOfStrings[i].length;
}
else{
longest=longest;
}
}
document.write(longest + "<br>");
}
function splitUp(){
//arrayOfStrings = splitString(word," ");
howLong = arrayOfStrings[0].length;
for(i=0; i< arrayOfStrings.length;){
if (howLong <longest){
document.write(arrayOfStrings[i] + ' ');
howLong = howLong + 1 + arrayOfStrings[i+1].length;
i++;
}
else if (howLong = longest){
document.write(arrayOfStrings[i] + "<br>");
howLong = arrayOfStrings[i+1].length;
i++;
}
else{
document.write("<br>" + arrayOfStrings[i] + " ");
howLong = arrayOfStrings[i].length + 1 + arrayOfStrings[i+1].length;
i++;
}
}
}
</script>
</head>
<body>
<script type="text/javascript">
word = [];
word = prompt("type a very long sentence that you want me to deal with: ");
splitString(word, " ");
longestWord();
splitUp();
</script>
</body>
</html>
&#13;
大家好,
感谢您的帮助。这个赋值是包装文本: 1.包含一个HTML输入字段,供用户使用HTML按钮直接在网页中输入字符串来执行JavaScript。 (我只是熟练按钮部分,以后再说) 2.包含一个将输入字符串分成单个单词的函数。 3.包括确定输入中最长单个单词的功能 string(可以与前一个函数分组)。 4.包括一个函数,用于将字符串的单词直接写入网页,布局使得单行不比字符串中最长的单词长。
我认为对于前三个,我的工作很好,但是对于我为第四部分所写的功能,它没有工作......我无法将工作切割成所有那些比最长的单词..
答案 0 :(得分:0)
当我使用某些输入运行代码时,我收到以下错误:
Cannot read property 'length' of undefined
您的代码中有一点您正在尝试访问不存在的对象(字符串/数组)的length属性。
您应该尝试使用调试器/断点/日志记录运行代码,以查看对{{1}}的哪些调用失败。考虑记录每个阶段的输入/输出,看它是否符合您的期望。
顺便说一句,使用分隔符定义单词边界是有问题的,尽管这对您的作业可能并不重要。如果您有兴趣,请查看正则表达式,以寻找单词边界的替代方法。