当我运行这个时,为什么有未定义的

时间:2012-02-15 15:36:19

标签: javascript jquery

<html>
<head>
<title>js_trial</title>

<script language="javascript">
now = new Date();

document.write("today is: "+now+"<br/>");


function print (number){
if(number >= 4);

return document.write("the number "+number);
}

var num = 4;
var doub = print(num);

document.write(doub);
</script>
</head>
<body>





</html>

输出: 今天是:2012年2月15日星期三23:31:19 GMT + 0800(台北标准时间) 数字4undefined

为什么4之后有未定义?

4 个答案:

答案 0 :(得分:2)

document.write的返回值始终为undefined

document.write print的返回值为return document.write(...)

答案 1 :(得分:2)

您的if语句不起作用:

now = new Date();

document.write("today is: "+now+"<br/>");

function print (number){
    if(number >= 4) {   
        document.write("the number "+number);
    }
}

var num = 4;
print(num);

document.write没有回复。因此'未定义'。

答案 2 :(得分:1)

致电document.write(doub);时您正在做的事情基本上是doucment.write(document.write("the number "+number));

undefined是内部document.write调用的返回值,外部document.write调用告诉您没有值。

答案 3 :(得分:0)

函数document.write始终返回undefined! 你要做的是:将“数字4”写入你的文档(document.write("the number "+number);)并将写函数的返回值(未定义)存储到变量doub之后,然后写{{1}您的文档也会导致附加的“未定义”。

你想要写的而不是代码,是:

doub

你的函数print现在返回一个字符串“number 4”,它存储在function print (number){ if(number >= 4){ return ("the number "+number); } } var num = 4; var doub = print(num); document.write(doub); 中,最后写入文档。

OR

doub

您调用函数print,将“数字4”直接写入文档。

编辑:

function print (number){ if(number >= 4){ document.write("the number "+number); } } var num = 4; print(num); 已过时,请改用<script language="...">

您的if条件不起作用,请使用

<script type="text/javascript">