为什么没有输出
why there is no output
我在 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 元素)。
更正这些问题,它应该按预期工作。但有一点需要注意的是,您的代码格式不正确,这使得它更难阅读,也更难发现问题。我建议您将来在格式化代码时要小心。
相关文章:
- 函数将输出nan而不是数字,为什么
- 为什么这个javascript的输出被覆盖
- 为什么我的Alexa技能测试显示正确的lambda输出,但在开发人员控制台中测试时却给出错误消息
- 为什么不是't此函数用于修改最终输出
- 为什么这个子节点给我那个奇怪的输出
- 为什么 Javascript sort() 函数没有给出预期的输出
- Javascript OOP-为什么这两个几乎完全相同的语句给出不同的输出
- 两个javascript网络工作者连续打印输出-为什么不同时打印呢
- 为什么console.log()在我的代码中输出意外的0
- 从数组中删除项目,为什么输出中的 for 和 for 不同
- 为什么这个控制台会像在这个范围示例中那样记录输出
- 为什么microAjax中的alert没有输出php文件中的回显文本
- 当我从有界数据派生输出时,为什么我的自定义指令不更新
- 为什么setTimeout输出不按顺序添加的数字
- 为什么jQuery每次都输出相同的rel
- 为什么我的输出未定义
- 为什么RegEx输出转义文本而不是HTML
- 解释为什么 '+[] == 0' 在 Javascript 中输出 'true'
- 为什么jQuery减法输出NaN
- 为什么使用 Webpack 和 Gulp 构建的输出包如此之大 (>1.9Mb)