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

why there is undefined when i run this

本文关键字:未定义 运行 为什么      更新时间:2023-09-26
<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>

输出:今天是: 星期三 二月 15 2012 23:31:19 GMT+0800 (台北标准时间(数字 4未定义

为什么 4 后有未定义?

document.write 的返回值始终为 undefined

document.write print的返回值,该值具有return document.write(...)

你的 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没有回应.因此,"未定义"。

当你打电话给document.write(doub);时,你正在做的事情本质上是doucment.write(document.write("the number "+number));

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

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

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

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

您的函数 print 现在返回一个字符串"数字 4",该字符串存储在 doub 中,最后写入文档。

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

调用函数 print,它将"数字 4"直接写入文档。

编辑:

<script language="...">已过时,请改用<script type="text/javascript">

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

  if (condition) {
     //your code here
  }