【发布时间】:2019-03-05 05:01:35
【问题描述】:
我有下面的代码(JavaScript + 一点 Html)取自 Data Visualization with Python and JavaScript b Kyran Dale(我是一个完全网络新手 - 花了很长时间作为一个不关心互联网问题的 DBA),但现在我作为一个成熟的学生进入了硕士学位,我需要认真学习这些东西!! :-) )
JavaScript (do_student_data.js):
var studentData = [
{name: 'Bob', id:0, 'scores':[68, 75, 76, 81]},
{name: 'Bob', id:0, 'scores':[68, 75, 76, 81]},
{name: 'Bob', id:0, 'scores':[68, 75, 76, 81]},
{name: 'Bob', id:0, 'scores':[68, 75, 76, 81]},
];
function processStudentData(data, passThreshold, meritThreshold){
passThreshold = typeof passThreshold !== 'undefined'? passThreshold: 60;
meritThreshold = typeof meritThreshold !== 'undefined'? meritThreshold: 75;
data.forEach(function(sdata){
var av = sdata.scores.reduce(function(prev, current){
return prev + current;
},0)/sdata.scores.length;
sdata.average = av;
if(av > meritThreshold){
sdata.assessment = 'Passed with merit';
}
if(av > passThreshold){
sdata.assessment = 'Passed';
}
else{
sdata.assessment = 'Failed';
}
console.log(sdata.name + "'s (:id " + sdata.id + ") final assessment is: " + sdata.assessment.toUpperCase());
});
}
HTML:
<!-- index.html -->
<!DOCTYPE html>
<meta charset = "utf-8">
<head>
<!-- this head section has to be added otherwise a file not found :8000/favicon.ico:1 error occurs
see here https://stackoverflow.com/questions/31075893/im-getting-favicon-ico-error
-->
<link rel="shortcut icon" href="#">
</head>
<div id = 'viz'></div>
<script type = "text/javascript" src = "./do_student_data.js"></script>
<script>processStudentData(studentData)</script>
我跑
python3 -m http.server
从放置文件的目录,然后打开 Chrome(由 Dale 推荐)并按 Ctrl-Shift-J 以获取控制台,但那里什么都没有 - 它是空的。
我试过了
<div id = 'viz'>processStudentData()</div>
有和没有括号,但仍然没有快乐!
我也尝试过以下操作,但无济于事:
<div id = 'viz'></div> <!-- dummy div -->
<script>processStudentData(sdata)</script> <<---- ADDED LINE!!!
<script type = "text/javascript" src = "do_student_data.js" async></script>
我有 processStudentData(XXXX) 有和没有 studentData 代替 XXXX(即其他空白!)
我想知道
a) 如何让代码工作,更重要的是
b) 像这样在浏览器中调用 JavaScript 的约定 - 任何引用、URL 和 c。感激地收到,但快速解释也将不胜感激。我需要在 div 或其他部分中调用我的代码吗?
【问题讨论】:
-
你已经声明了一个函数
processStudentData,但你从来没有调用过这个函数 -
好的 - 那我怎么称呼它?我确实说过我是一个完整的 n00b... :-) 我试过把processStudentData()(带和不带括号) - 但没有运气!
-
@Vérace 要运行代码,您需要将其放入
<script>,而不是<div> -
但它是在脚本中,不是吗?它在 do_student_data.js 中吗?也许一个例子会对我有所帮助 - 我要编写什么实际代码来调用我在 html 文件底部引用的 do_student_data.js 脚本文件中的 processStudentData 函数?
标签: javascript http