为什么没有输出

why there is no output

本文关键字:输出 为什么      更新时间:2023-09-26

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

<!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>

如果你想通过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/

你的 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>

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

以下是代码的工作版本:

<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 创建元素,如 @Emil S. Jørgensen 的答案。

第三,您尝试将元素的内部 html 设置为函数的结果,但该函数没有返回要显示的任何内容。相反,它试图直接写入文档。这将为您提供一些输出,但它不会位于您要瞄准的元素内。相反,您需要做的是从函数返回一些有效的 html(尽管这不一定必须包含任何 html 元素)。

更正这些问题,它应该按预期工作。但有一点需要注意的是,您的代码格式不正确,这使得它更难阅读,也更难发现问题。我建议您将来在格式化代码时要小心。