javascript中的第一行“var stop=null;”为什么放到move函数里面就不行了呢?
放到里面不也一样是可以作用于整个函数吗?
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<style type="text/css">
#div1
{
width:150px;
height:50px;
background-color:black;
position:absolute;
left:10px;
top:15px;
}
#div2
{
width:150px;
height:50px;
border-right:10px solid red;
border-top:10px solid red;
border-bottom:10px solid red;
position:absolute;
left:790px;
top:5px;
}
input
{
margin-top:60px;
}
</style>
</head>
<body>
<div id="div1"></div>
<div id="div2"></div>
<input type="button" onclick="move('div1',1,1)" value="click" />
</body>
<script type="text/javascript">
var stop=null;
function move(object,range,frequency)
{
var oDiv1=document.getElementById(object);
var oDiv2=document.getElementById("div2");
clearInterval(stop);
function motion()
{
if(oDiv1.offsetLeft>=800)
{
clearInterval(stop);
oDiv2.style.borderLeft="10px solid red";
}
else
{
oDiv1.style.left=oDiv1.offsetLeft+range+"px";
}
}
stop=setInterval(motion,frequency);
}
</script>
</html>
菜鸟求助:js中作用域的问题
还有一个概念叫做函数闭包,它允许一个函数访问并操作其外部作用域的变量。闭包可以向下一层访问,而不仅仅是向上一层。这是理解作用域链和提升的关键。总结起来,理解作用域链、提升和闭包对于解决JavaScript中的作用域问题至关重要。通过实践和阅读相关文档,你可以更好地掌握这些概念,从而更有效地编写和...
有关javascript的全局变量的问题,请问下面第一个输出s为什么结果是undefi...
你的例子中,一个function可以看成一个独立的作用域空间,是一个独立的代码片段,执行是,第一步是变量预解析,所以,不管s在全局变量是否存在,你那个function内部执行的时候,局部变量s已经声明,初始化了,在函数执行执行,变量会提前声明的,预解析阶段,所有变量都是undefined。你的代码实际效果是这样...
js变量修改了但是拿到的还是没改前的
在 JavaScript 中,如果变量被修改了,但是拿到的还是没改前的值,可能是由于以下原因:1. 变量作用域问题:变量的作用域会影响变量的访问。如果变量被定义在函数内部,那么在函数外部就无法访问该变量,也就无法拿到该变量的值。此时,可以将变量定义在全局作用域中,从而保证变量的可访问性。2. 变量赋...
javascript setInterval()变量作用域问题
按道理来说 clearInterval(updateheight)是无效的 如果updateheight真的是局部的话,不过不是没特殊情况 要看代码才知道
script的一问题,请高人分析.
变量作用域的问题 在函数里定义变量时如果加var就是局部变量只能该函数内部可见,其它函数不能看到。函数执行完后就销毁了 如果不加var就是引用全局变量,函数执行完该变量仍存在,也可以在其它函数内使用 在函数外定义变量时无论是否加var都是全局变量 ...
一个简单的JavaScript的的if else return小问
在编程中,理解函数和闭包的概念对于解决复杂问题至关重要。在提到的 JavaScript 的 if-else-return 例子中,我们关注的是字符串的修改,以及变量的作用域。让我们深入探讨这个概念,以便更直观地理解代码的执行流程。假设我们有一个字符串 "this-Is-A-Tree",并且我们希望将其中的所有短横线转换为无空格...
javascript 变量问题(二)当全局(在先)与局部(在后)共存于一个函数内...
dc(); \/\/1.4 ,因为uc没有通过参数修改dc内部的变量a,故内部a仍然=1。补充: 谢谢指出错误。 那里确实不是传递参数的问题。zhifeichuan说的很专业,应该是准确的,传参数仍然只是函数对全局变量的引用,不能说明什么问题。我又发现函数体里如果使用了var a,那么不管a在var之前使用还是之后使用都...
学废了,JavaScript 中的作用域与作用域链
在JavaScript中,作用域就像一把钥匙,决定着变量的存取权限。主要有三种:全局作用域、函数作用域(局部作用域)和块级作用域。全局作用域内的变量在程序任何地方都能访问,使用var定义的变量如是。函数内的变量则是局部的,只在该函数内部可见,尝试在外部访问会报错。ES6引入的let和const定义的变量属于...
21传统浏览器端JavaScript在使用的时候存在的命名冲突和___两大...
作用域问题:在传统的JavaScript中,作用域是基于函数的,而不是基于块级的。这意味着变量的作用域是在其声明的函数内部,而不是在if语句、for循环等代码块内部。这就容易导致变量的意外共享和污染,造成不可预料的结果。这两个问题在传统浏览器端JavaScript中是相当常见的,并且容易引发错误和难以调试。...
var 什么意思风险
一、var的意思 var是“variable”的缩写,中文意思是变量。在编程中,var用于声明一个变量,用来存储数据,这些数据可以是数字、字符串、对象等。使用var关键字声明的变量具有局部和全局两种作用域,这取决于变量的声明位置和上下文。二、var的风险 1. 作用域问题:在JavaScript中,使用var声明的...