问答详情
源自:8-11 Location对象

请教前辈个小问题!

<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>location</title>
</head>
 <script type="text/javascript">
     document.write(window.location.href);   
     
 </script>
</head>
<body>
</body>
</html>

上面这段代码是正确的可以运行的

<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>location</title>
</head>
 <script type="text/javascript">
     document.write(var w=window.location.href);   
     
 </script>
</head>
<body>
</body>
</html>

这第二段代码就不能正确运行了,仅仅是相比于第一段代码修改了第8行而已。

请问这其中又什么规矩吗?何时能这样用(类似于第二段代码)何时不能?



类似的还有一段代码都是可以按照上面的第二段代码的书写方式写的而且可以成功运行:

<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>计时器</title>
<script type="text/javascript">
   function clock(){
      var time=new Date();                     
      document.getElementById("clock").value = time;
   }
// 每隔100毫秒调用clock函数,并将返回值赋值给i
     var i=window.setInterval("clock()",100);
      
</script>
</head>
<body>
  <form>
    <input type="text" id="clock" size="50"  />
    <input type="button" value="Stop" onclick="var inn=window.clearInterval(i)"  />
  </form>
</body>
</html>

这上面的这段代码的第19行是可以这么写的,这到底什么时候能直接按照下面的定义变量的方法?

<input type="button" value="Stop" onclick="var inn=window.clearInterval(i)"  />

这另有一段基于第三段代码的改写,仅仅修改了第19行,格式同第一段代码,竟然也可以运行,

<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>计时器</title>
<script type="text/javascript">
   function clock(){
      var time=new Date();                     
      document.getElementById("clock").value = time;
   }
// 每隔100毫秒调用clock函数,并将返回值赋值给i
     var i=window.setInterval("clock()",100);
      
</script>
</head>
<body>
  <form>
    <input type="text" id="clock" size="50"  />
    <input type="button" value="Stop" onclick="window.clearInterval(i)"  />
  </form>
</body>
</html>

我实在总结不出规律来了,找了一些资料也没弄明白,,希望前辈给我解惑答疑!

提问者:xueling 2015-04-25 22:02

个回答

  • 康振宁
    2015-04-27 11:18:03
    已采纳

    第一个问题,document.write(var w=window.location.href);   你这么写是想表达个啥意思??是定义变量呢?还是打印定义的变量?这样写,计算机看不懂,要不你就写document.write(window.location.href); ,要不你就这样var w=window.location.href;document.write(w);

    第二个问题这两个是不一样的,因为你下面这个是调用的事件~~什么是事件,事件就是一个函数或者多个函数。所以这么些也可以的。就规范来说,最好不要这样写,可能存在兼容性问题。