要解决你的问题,可以是在方法外面声明一个全局变量,所有方法均可以调用这个变量。
更好的方式是使用面向对象的编程,将你的方法和需要外部调用的参数封装成对象(或者称为类)。
举例:
用构造函数声明对象Car的结构
function Car(sColor) {
this.color = sColor//颜色属性
//对象一个方法,用来获取颜色
this.getColor = function() {
return this.color
}
//你可以任意添加其他的属性和方法
}
//创建对象Car的两个实例
var Car1 = new Car("red")
var Car2 = new Car("blue")
这样你就可以在任意时候对Car1或者Car2中的颜色属性进行改变并查看
现在使用Car1.getColor()会获得字符串值"red"
你在其他任何方法中执行Car1.color = "green"
再使用Car1.getColor()会获得字符串值"green"
这样封装好的对象,其属性的值可以被其他的方法任意调用和修改,不知道能不能解决你的问题。
把参数写在括号里面 就可以了
var a=1var b=2
var c= myaddfun(a,b)
alert(c)
function my addfun(a,b){ //注意 这里的 a 和b
// 和上表面的a和b 无关 可以用任何合法的变量名 如C和D
return a+b
}
functions myaddfun(c,d){ // 用c和d也是一样, 只跟次序有关系
return c+d
}
<span id="demo"></span><script>
var text="dffasdfasdfadsfadsfdafklsjdflkajsdf'alskdjf'asdlf" //预定文字
var delay=200 //文字出现的时间间隔
var i=0 //初始化变量 i
function scrollit(){
//设置 id 为 demo 的对象内的文字为从变量 text 的 0 开始到 i 间的文字加"_"
document.getElementById('demo').innerHTML=text.slice(0,i++)+"_"
if(i>text.length){ //当 i 大于 text 的文本长度时
i=0//重设 i 为 0,使文字重新从第一个文字出现
//延时执行scrollit()函数,delay*10是为了让显示完整文字的时间长一点
setTimeout("scrollit()",delay*10)
}
//否则在delay毫秒后再次执行scrollit()函数
else setTimeout("scrollit()",delay)
}
scrollit()//调用scrollit()函数
</script>