javascript-新人求解 Javascript 局部变量调用问题

问题描述

新人求解 Javascript 局部变量调用问题

简单的div移动遇到的问题
window.onload = function()
{
var oBtn = document.getElementById('btn1');
var oDiv = document.getElementById('div1');
var oTxt = document.getElementById('txt1');
oBtn.onclick = function()
{
var speed = parseInt(oTxt.value);
timer = setInterval(function()
{
oDiv.style.left = oDiv.offsetLeft + speed +'px'
},30);
};
};

如果把var speed = parseInt(oTxt.value);现在onclick外面发现在setInterval中调用不到speed,写在onclick里面问题解决。
我知道Javascript是一段一段的读数据的,但是我外面写window.onload,speed是闭包中内部函数啊,为什么setInterval调用不到

时间: 2024-10-30 19:51:01

javascript-新人求解 Javascript 局部变量调用问题的相关文章

新人求解,javascript图片移动问题

问题描述 新人求解,javascript图片移动问题 问题都写在图片里面了, 偶是大二学生,别讲的太深奥······ 万分感谢兄弟姐妹们~~~ 解决方案 不是回过你了,setTimeout参数不要字符串,直接传递函数句柄 http://ask.csdn.net/questions/221913 设置left/top此类定位或者大小的css要加上单位px,要不添加xhtml申明没有单位会无效默认为0 解决方案二: 给有关联的全部代码,包括页面,这样才可以调试 解决方案三: var zh放到 函数外

浅谈JavaScript的全局变量与局部变量_javascript技巧

一.JavaScript scope 的划分标准是function函数块,不是以 if.while.for来划分的 <script> function f1(){ alert("before for scope:"+i); //i未赋值(并不是没有声明!使用未声明变量或函数会导致致命错误从而中断脚本执行) //此时i值为undefined for(var i=0; i<3;i++){ alert("in for scope:"+i);} //i的值

Javascript中匿名函数的调用与写法实例详解(多种)_javascript技巧

Javascript中定义函数的方式有多种,函数直接量就是其中一种.如var fun = function(){},这里function如果不赋值给fun那么它就是一个匿名函数.好,看看匿名函数的如何被调用. 方式1,调用函数,得到返回值.强制运算符使函数调用执行 (function(x,y){ alert(x+y); return x+y; }(3,4)); 方式2,调用函数,得到返回值.强制函数直接量执行再返回一个引用,引用再去调用执行 (function(x,y){ alert(x+y);

JavaScript父子窗体间的调用方法_javascript技巧

本文实例讲述了JavaScript父子窗体间的调用方法.分享给大家供大家参考.具体如下: 如果要打开一个新窗口,使用 window.open( ) 方法. 如果要关闭自身窗口,使用 window.close( ) 方法. 一.父窗体 为了便于父窗口操作子窗口,可以为 window.open( ) 方法定义一个变量,例如: var opW = window.open("tests.html","popup","width=300,height=300&quo

javascript中函数作为参数调用的方法_javascript技巧

本文实例讲述了javascript中函数作为参数调用的方法.分享给大家供大家参考.具体分析如下: 先来看示例: function Map(){ var obj = {}; this.put = function(key, value){ obj[key] = value; } this.eachMap = function(fn){ for(var attr in obj){ fn(attr, obj[attr]); } } } var m = new Map(); m.put('01', 'a

JavaScript函数的定义和调用学习笔记

JavaScript函数的定义 函数的定义使用关键字 function,语法如下: function funcName ([parameters]){     statements;     [return表达式;] } 函数各部分的含义: •funcName为函数名.函数名可由开发者自行定义,与变量的命名规则相同. •parameters为函数的参数.在调用函数时,需将实际数据传递给参数列表以完成函数的特定功能.参数列表中可定义一个或多个参数,多个参数用逗号" , "分开,当然,参数

Javascript 函数的四种调用模式_javascript技巧

Javascript 函数的四种调用模式 1  函数模式      最普通的函数调用 // 声明式函数 function fn1 () { console.log(this); } // 函数表达式函数 var fn2 = function() { console.log(this); }; // 调用 函数中this表示全局对象,在浏览器中就是指window fn1(); //window fn2(); //window  2 方法模式      函数依附于一个对象,是对象的一个属性,我们再调

JavaScript权威设计--JavaScript函数(简要学习笔记十一)

1.函数调用的四种方式 第三种:构造函数调用 如果构造函数调用在圆括号内包含一组实参列表,先计算这些实参表达式,然后传入函数内.这和函数调用和方法调用是一致的.但如果构造函数没有形参,JavaScript构造函数调用的语法是允许省略实参列表和圆括号的. 如: var o=new Object(); //->等价于 var o=new Object;   第四种:使用call()与apply()间接调用(放在后面详细说明)   2.函数的实参与形参--可选形参 先看一个例子: function g

javascript arguments与javascript函数重载

1.所 有的函数都有属于自己的一个arguments对象,它包括了函所要调用的参数.他不是一个数组,如果用typeof arguments,返回的是'object'.虽然我们可以用调用数据的方法来调用arguments.比如length,还有index方法.但是数 组的push和pop对象是不适用的. 2.函数定义时的参数个数和函数调用时的参数个数没有任何关系. 在函数中可以用f.arguments[0]和f.arguments[1]得到调用时传入的第一和第二个参数,arguments不能够创建