2013-02-17 130 views

回答

5

知道它会运行 - 但它会首先让time有一个值依赖于别的东西有运行。

例如,这将工作(即使它是不好的做法,因为它设置在window属性):

<script> 
time = 10; 
</script> 

<script> 
if (time<20) 
{ 
    alert("Hello World!"); 
} 
</script> 

你也觉得不可能保证你需要临时处理任何变量保存超出其他脚本的范围。为了克服这个限制,你可以(而且除了在最微不足道的网站,应该)包被当场援引一个匿名函数里面的代码:

<script> 
(function() { 
    // your code here 
})(); 
</script> 
+0

***“这将取决于其他东西先跑了,所以时间有一个有意义的价值“***,因为这是真实的”时间“将首先存在,它不会默认 – vol7ron 2013-02-17 20:04:51

+0

@ vol7ron这正是乔恩的意思?他的例子清楚地通过不使用'var'关键字来创建一个全局变量作为窗口的属性。此外,即使它具有'var',该代码片段仍在全局范围内执行,因此它仍然会成为窗口对象的属性。 – 2013-02-17 20:08:02

+0

@FabrícioMatté它的措辞的方式,一个有意义的值意味着该变量已经存在,并没有一个价值的作品或不通过该条件。情况并非如此 - “时间”不是一个甚至存在的变量(全局或本地)。你在推断一些没有说明的东西。 OP显然不理解JS,并且应该知道'时间'必须同时存在(2)和(2)值<20才能通过条件。 – vol7ron 2013-02-17 20:23:17

0

如果您要访问DOM元素,你必须将脚本标记放在页面的末尾。或者你使用类似onload的body标签(或JS框架中的等价函数)

0

它会运行,实现time是未定义的,产生一个错误并暂停操作。

0

如果 “时间” 是在服务器端seted,所以,你可以写dinamically的onload属性的身体是这样的:

<body onload="functionName(<?php echo()?>)"> 

然后:

<script type="text/javascript"> 
function functionName(time) { 
     if(time < 30) { ... } 
} 
</script> 
相关问题