我在一所特许学校工作,我只是在学习 JavaScript。我有一些由以前担任我职位的人编写的代码,在我看来它应该可以工作,但事实并非如此。
这是我在 SIS 的自定义 HTML 页面中的内容:
GED Status: <script language="Javascript">gedCheck('~(ELC_tspp_GED_read_score)','~ (ELC_tspp_GED_wri_score)','~(ELC_tspp_math_GED_score)','~(ELC_science_state_exam_score)','~(soc_sci_state_exam_score)')</script>
这似乎是从各种数据库字段中正确检索值,因为 javascript 例程正在评估每个值以确保它至少为 410。但仅此而已......
这是javascript例程代码:
function gedCheck(read,wri,math,sci,soc) {
if( read < 0 && read > 1000 )
read = 0;
if( wri < 0 && wri > 1000 )
wri = 0;
if( math < 0 && math > 1000 )
math = 0;
if( sci < 0 && read > 1000 )
read = 0;
if( soc < 0 && soc > 1000 )
soc = 0;
if ( (read >= 410) && (wri >= 410) && (math >= 410) && (sci >= 410) && (soc >= 410) ) {
if( read+wri+math+sci+soc >= 2250 )
document.write( "PASSED" )
}
else
document.write( "NOT PASSED" )
}
它应该检查 GED 测试中的每个分数至少为 410,并且所有分数的总和应至少为 2250。但是,它没有达到最后一部分。如果所有分数都超过 410,则返回“PASSED”。
我试过这个,但它也不起作用。
function gedCheck(read,wri,math,sci,soc) {
if( read < 0 && read > 1000 )
read = 0;
if( wri < 0 && wri > 1000 )
wri = 0;
if( math < 0 && math > 1000 )
math = 0;
if( sci < 0 && read > 1000 )
read = 0;
if( soc < 0 && soc > 1000 )
soc = 0;
if ( (read >= 410) && (wri >= 410) && (math >= 410) && (sci >= 410) && (soc >= 410) ) {
if( read+wri+math+sci+soc/5 >= 450 )
document.write( "PASSED" )
}
else
document.write( "NOT PASSED" )
}
有人可以帮我解决这个问题,因此它要么平均所有 5 个数字并仅在平均值为 450 时才返回“PASSED”,或者仅当总和为 2250 或更大时才将所有 5 个数字相加并返回“PASSED”?