为什么没有输出

时间:2016-02-19 10:26:05

标签: javascript function

我在Javascript function fiddle上写了一个例子,但是没有输出,我该如何解决这个错误。

<!DOCTYPE html>
<html>
<head>
    <title></title>
</head>
<body>
    <script type="text/javascript">
    function student(name,id,level,phone){
        var name, id, level, phone;
        this.name= name;
        this.id= id;
        this.level= level;
        this.phone= phone;}
        function myFunction(){
        var stud = new student("khaled al gamd","110_35_1353","three",0501607419);
        var name= stud.(name);
        var id= stud.(id);
        var level= stud.(level);
        var phone= stud.(phone);
        document.write (name);
        document.write (id);
        document.write (phone);
    }
    <p id="result"><\/p>
    document.getElementById("result").innerHTML=myFunction();
    </script>
</body>
</html>

3 个答案:

答案 0 :(得分:2)

如果你想通过JavaScript创建它,你需要写出段落标记:

function student(name, id, level, phone) {
    this.name = name;
    this.id = id;
    this.level = level;
    this.phone = phone;
}
function myFunction() {
    var stud = new student("khaled al gamd", "110_35_1353", "three", 0501607419);
    var name = stud.name;
    var id = stud.id;
    var level = stud.level;
    var phone = stud.phone;
    return name + "<br>" + id + "<br>" + phone;
}
document.write('<p id="result">  </p>');
document.getElementById("result").innerHTML = myFunction();

有关JavaScript的帮助,您可以尝试使用JSHint:

http://jshint.com/

答案 1 :(得分:0)

你的JavaScript与html在一起。

试试这个:

<html>
<head>
</head>
<body>
<p id="result">

<script type="text/javascript">
function student(name,id,level,phone){
this.name= name;
this.id= id;
this.level= level;
this.phone= phone;
}

function myFunction(){
var stud = new student("khaled al gamd","110_35_1353","three",0501607419);
var name= stud.name;
var id= stud.id;
var level= stud.level;
var phone= stud.phone;
document.write(name);
document.write(id);
document.write(phone);}

myFunction();
</script>
</p>
</body></html>

答案 2 :(得分:0)

这里的其他答案是正确的,但它们都没有解释为什么它们是正确的所以这里有一点解释。

以下是您的代码的工作版本:

<html>
<head>
</head>
<body>

<p id="result"></p>

<script type="text/javascript">
function student(name,id,level,phone){
   var name, id, level, phone;
   this.name= name;
   this.id= id;
   this.level= level;
   this.phone= phone;
}

function myFunction(){
  var stud = new student("khaled al gamd","110_35_1353","three",0501607419);
  var name= stud.name;
  var id= stud.id;
  var level= stud.level;
  var phone= stud.phone;
  return name + id + phone;
}
document.getElementById("result").innerHTML=myFunction();
</script>
</body></html>

现在,您的示例存在一些问题。首先,您尝试访问学生对象的属性,如下所示:stud.(name)这是无效的语法。正确的语法是:stud.name

其次,您在脚本标记中声明了html元素。脚本标记内的所有内容都应该是有效的javascript,而这不是。你有两个选择,一个是在脚本标签之外移动该行(在主体内部,在脚本之上或者在脚本运行之后才会创建),另一个是使用javascript创建元素。由@EmilS.Jørgensen回答。

第三,你试图将元素的内部html设置为函数的结果,但是函数没有返回任何要显示的内容。相反,它试图直接写入文档。这会给你一些输出,但它不会在你想要的元素内。相反,你需要做的是从函数中返回一些有效的html(虽然这不一定要包含任何html元素)。

纠正这些问题,它应该按预期工作。但需要注意的是,您的代码格式不正确,这使得它更难以阅读并且更难发现问题。我建议您将来格式化代码。