我在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>
答案 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:
答案 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元素)。
纠正这些问题,它应该按预期工作。但需要注意的是,您的代码格式不正确,这使得它更难以阅读并且更难发现问题。我建议您将来格式化代码。