Javascript 脚本生成错误,我可以';找不到

Javascript 脚本生成错误,我可以';找不到,javascript,document.write,Javascript,Document.write,最终目的是返回显示以下句子的页面 很久以前,有一个性别的名字谁有一个宠物名为宠物名 变量heroGender、heroName、petType、petName; heroGender=window.prompt('英雄是女性还是男性?输入F或M','F'); heroName=window.prompt('英雄的名字是什么?',''); petType=window.prompt('英雄有什么类型的宠物?',''); petName=window.prompt('宠物的名字是什么?','');

最终目的是返回显示以下句子的页面

很久以前,有一个性别的名字
谁有一个宠物名为宠物名


变量heroGender、heroName、petType、petName;
heroGender=window.prompt('英雄是女性还是男性?输入F或M','F');
heroName=window.prompt('英雄的名字是什么?','');
petType=window.prompt('英雄有什么类型的宠物?','');
petName=window.prompt('宠物的名字是什么?','');
写(‘从前有一个’);
如果(heroGender==('F'))
{
文件。写(‘女孩’);
}
其他的
{
文件。写(‘boy’);
}
document.write('从前有一个名为'+heroName'的'+heroGender+'。'
'+ heroName+'有一个名为“+petName+”的“+petType+”);
我认为您的最终文档中有一些拼写错误。请编写。您的名字后面缺少一个“+”。。。你有一些重复的文件

以下是我认为您的最终代码:

var heroGender, heroName, petType, petName;
heroGender = window.prompt('Is the hero female or male? Enter F or M', 'F');
heroName = window.prompt('What is the hero\'s name?','');
petType = window.prompt('What type of pet does the hero have?','');
petName = window.prompt('What is name of the pet?','');

if (heroGender == ('F')) { heroGender ='girl'; } else { heroGender = 'boy'; }
document.write('Once upon a time there was a ' + heroGender + ' named ' + heroName + '. ' + heroName + ' had a ' + petType + ' called ' + petName + '.');

我想你的最终文档中有一些拼写错误。写吧。你的名字后面缺少一个“+”。。。你有一些重复的文件

以下是我认为您的最终代码:

var heroGender, heroName, petType, petName;
heroGender = window.prompt('Is the hero female or male? Enter F or M', 'F');
heroName = window.prompt('What is the hero\'s name?','');
petType = window.prompt('What type of pet does the hero have?','');
petName = window.prompt('What is name of the pet?','');

if (heroGender == ('F')) { heroGender ='girl'; } else { heroGender = 'boy'; }
document.write('Once upon a time there was a ' + heroGender + ' named ' + heroName + '. ' + heroName + ' had a ' + petType + ' called ' + petName + '.');

在你等待书籍的时候

学习

一个例子:

<label> Your Hero's gender </label><input id="heroGender"/><br/>
<label> Your Hero's name </label><input id="heroName"/><br/>
<label> Your Hero's pet type </label><input id="petType"/><br/>
<label> Your Hero's pet name </label><input id="petName"/><br/>
<button> Make me a hero! </button>
<div id="output"></div>
// make your hero when you press the button
document.getElementsByTagName("button")[0].addEventListener("click", function() {
    // get all the values from the text boxes
    var gender = document.getElementById("heroGender").value,
        name = document.getElementById("heroName").value,
        petType = document.getElementById("petType").value,
        petName = document.getElementById("petName").value;

    // set the text on your output.
    document.getElementById("output").textContent = 
        "Once upon a time there was a " + gender +
        " named " + name + ". " + name + " had a pet " + 
        petType + " called " + petName;


}, false);

固定版本

document.write(
    'Once upon a time there was a ' + heroGender + 
    ' named ' + heroName  + '.' + '<BR>' + heroName + 
    ' had a ' + petType + ' called ' + petName + '.');
试用

  • Firefox及其控制台选项卡(点击F12)
  • IE9和内置控制台(点击F12。确保控制台打开,然后刷新)
  • Chrome和内置控制台(按Ctrl+Shift+J)
以监视任何错误消息

如果这太费劲了,那就试试看

window.onerror = function(e) {
  alert(e.message);
}
这是一个“改进的”更符合标准的版本

HTML:

<label> Your Hero's gender </label><input id="heroGender"/><br/>
<label> Your Hero's name </label><input id="heroName"/><br/>
<label> Your Hero's pet type </label><input id="petType"/><br/>
<label> Your Hero's pet name </label><input id="petName"/><br/>
<button> Make me a hero! </button>
<div id="output"></div>
// make your hero when you press the button
document.getElementsByTagName("button")[0].addEventListener("click", function() {
    // get all the values from the text boxes
    var gender = document.getElementById("heroGender").value,
        name = document.getElementById("heroName").value,
        petType = document.getElementById("petType").value,
        petName = document.getElementById("petName").value;

    // set the text on your output.
    document.getElementById("output").textContent = 
        "Once upon a time there was a " + gender +
        " named " + name + ". " + name + " had a pet " + 
        petType + " called " + petName;


}, false);
上面的代码将在IE8或更低版本下中断:(。让JavaScript在浏览器间工作是一件非常痛苦的事情

所以我想你可以在

  • 微软和
但这些都不容易阅读或浏览。跨浏览器脚本编写的一个很好的视觉指南是

它将显示跨浏览器支持(红色为firefox,蓝色为IE):


给它几个月的时间,你就会知道如何舒适地使用它。

当你在等书的时候!

学习

一个例子:

<label> Your Hero's gender </label><input id="heroGender"/><br/>
<label> Your Hero's name </label><input id="heroName"/><br/>
<label> Your Hero's pet type </label><input id="petType"/><br/>
<label> Your Hero's pet name </label><input id="petName"/><br/>
<button> Make me a hero! </button>
<div id="output"></div>
// make your hero when you press the button
document.getElementsByTagName("button")[0].addEventListener("click", function() {
    // get all the values from the text boxes
    var gender = document.getElementById("heroGender").value,
        name = document.getElementById("heroName").value,
        petType = document.getElementById("petType").value,
        petName = document.getElementById("petName").value;

    // set the text on your output.
    document.getElementById("output").textContent = 
        "Once upon a time there was a " + gender +
        " named " + name + ". " + name + " had a pet " + 
        petType + " called " + petName;


}, false);

固定版本

document.write(
    'Once upon a time there was a ' + heroGender + 
    ' named ' + heroName  + '.' + '<BR>' + heroName + 
    ' had a ' + petType + ' called ' + petName + '.');
试用

  • Firefox及其控制台选项卡(点击F12)
  • IE9和内置控制台(点击F12。确保控制台打开,然后刷新)
  • Chrome和内置控制台(按Ctrl+Shift+J)
以监视任何错误消息

如果这太费劲了,那就试试看

window.onerror = function(e) {
  alert(e.message);
}
这是一个“改进的”更符合标准的版本

HTML:

<label> Your Hero's gender </label><input id="heroGender"/><br/>
<label> Your Hero's name </label><input id="heroName"/><br/>
<label> Your Hero's pet type </label><input id="petType"/><br/>
<label> Your Hero's pet name </label><input id="petName"/><br/>
<button> Make me a hero! </button>
<div id="output"></div>
// make your hero when you press the button
document.getElementsByTagName("button")[0].addEventListener("click", function() {
    // get all the values from the text boxes
    var gender = document.getElementById("heroGender").value,
        name = document.getElementById("heroName").value,
        petType = document.getElementById("petType").value,
        petName = document.getElementById("petName").value;

    // set the text on your output.
    document.getElementById("output").textContent = 
        "Once upon a time there was a " + gender +
        " named " + name + ". " + name + " had a pet " + 
        petType + " called " + petName;


}, false);
上面的代码将在IE8或更低版本下中断:(。让JavaScript在浏览器间工作是一件非常痛苦的事情

所以我想你可以在

  • 微软和
但这些都不容易阅读或浏览。跨浏览器脚本编写的一个很好的视觉指南是

它将显示跨浏览器支持(红色为firefox,蓝色为IE):


给它几个月的时间,你就会知道如何舒适地使用所有这些

Error: missing ) after argument list
Source File: http://fiddle.jshell.net/_display/
Line: 41, Column: 83
Source Code:
document.write('Once upon a time there was a ' + heroGender + ' named ' + heroName '.''<BR>' + 
错误:缺少)在参数列表之后
源文件:http://fiddle.jshell.net/_display/
行:41,列:83
源代码:
document.write('从前有一个名为'+heroName'.''的'+heroGender+''。'
'+
应该是

document.write(' named ' + heroName + '.<BR>' + 
heroName + ' had a ' + petType + ' called ' + petName + '.');
document.write('named'+heroName+。
'+ heroName+'有一个名为“+petName+”的“+petType+”);

引用过多,缺少加号

Error: missing ) after argument list
Source File: http://fiddle.jshell.net/_display/
Line: 41, Column: 83
Source Code:
document.write('Once upon a time there was a ' + heroGender + ' named ' + heroName '.''<BR>' + 
错误:缺少)在参数列表之后
源文件:http://fiddle.jshell.net/_display/
行:41,列:83
源代码:
document.write('从前有一个名为'+heroName'.''的'+heroGender+''。'
'+
应该是

document.write(' named ' + heroName + '.<BR>' + 
heroName + ' had a ' + petType + ' called ' + petName + '.');
document.write('named'+heroName+。
'+ heroName+'有一个名为“+petName+”的“+petType+”);

此行中有语法错误:

document.write('Once upon a time there was a ' + heroGender + ' named ' + heroName '.''<BR>' + heroName + ' had a ' + petType + ' called ' + petName + '.');

请注意,我还删除了短语第一部分的冗余,因为您已经在“if'F',then'girl'”语句之前包含了它。

这一行有语法错误:

document.write('Once upon a time there was a ' + heroGender + ' named ' + heroName '.''<BR>' + heroName + ' had a ' + petType + ' called ' + petName + '.');

请注意,我还删除了短语第一部分的多余部分,因为您已经在“if'F',then'girl'”语句之前包含了它。

问题出现在您的最后一行。更正如下

document.write('Once upon a time there was a ' + heroGender + ' named ' + heroName + '.' + '<BR>' + heroName + ' had a ' + petType + ' called ' + petName + '.');
document.write('从前有一个名为'+heroName+'.+'.+'.+'
'+heroName+'的'+heroGender+'有一个名为'+petName+'的'+petType+');
问题在您的最后一行。更正如下

document.write('Once upon a time there was a ' + heroGender + ' named ' + heroName + '.' + '<BR>' + heroName + ' had a ' + petType + ' called ' + petName + '.');
document.write('从前有一个名为'+heroName+'.+'.+'.+'
'+heroName+'的'+heroGender+'有一个名为'+petName+'的'+petType+');
document.write('从前有一个名为'+heroName**++'.**++**'.***++**'
'+ heroName+'有一个名为“+petName+”的“+petType+”);
我通过添加我包装在
**

文档中的两个
++
来运行它+ heroName+'有一个名为“+petName+”的“+petType+”);

我通过添加我包装在
***

中的两个
+
来运行它。你能解释出哪里出了问题吗?我们看到了代码,但除非我们复制并运行它,否则我们不知道哪里出了问题。一个明显的问题是,你打印出“从前有一个”两次。您编写了
。“
,语法有点不正确。@John,正在创建