Java脚本:在函数中分配var,在函数外使用var
Java Script: assign var in function and use var out that function
<script type="text/javascript">
var statustext="test";
$zack(function() {
$zack.setOnStatus(changelable);
});
function changelable(status) {
if (status=='A')
statustext="OK";
else if (status=='B')
statustext="Ready";
else if (status=='C')
statustext="Go";
document.getElementById('title').innerHTML = statustext; // OK, Ready or Go
}
</script>
document.getElementById('title').innerHTML
显示OK、Ready或Go。
但是,当我在上面的脚本下面的某个地方使用这个脚本时,statustext
变量包含测试文本作为预分配:
<script type="text/javascript">
document.getElementById('title2').innerHTML = statustext; // test
</script>
我想多次将statustext
与OK、Ready或Go文本一起使用。如何做到这一点?
加载页面时,您的title2
代码会立即运行,但您的其他代码会响应事件(状态更改事件或调用changelable
的任何事件(而运行。
如果您想将title2
设置为与将title
设置为相同的内容,请移动此行:
document.getElementById('title2').innerHTML = statustext;
进入changelable
函数,就在这一行之后:
document.getElementById('title').innerHTML = statustext;
例如:
document.getElementById('title').innerHTML = statustext;
document.getElementById('title2').innerHTML = statustext;
或者如果你喜欢:
document.getElementById('title').innerHTML = document.getElementById('title2').innerHTML = statustext;
另外,您的if/else if/else if
序列实际上就是switch
语句的作用:
function changelable(status) {
switch (status) {
case 'A':
statustext="OK";
break;
case 'B':
statustext="Ready";
break;
case 'C':
statustext="Go";
break;
}
document.getElementById('title').innerHTML = statustext;
document.getElementById('title2').innerHTML = statustext;
}
或者你可以使用一个查找表:
var statustext="test";
var statusLabels = {
A: "OK",
B: "Ready",
C: "GO"
};
$zack(function() {
$zack.setOnStatus(changelable);
});
function changelable(status) {
statustext = statusLabels[status] || statustext;
document.getElementById('title').innerHTML = statustext;
document.getElementById('title2').innerHTML = statustext;
}
相关文章:
- 从var向代码隐藏函数传递值
- 如何将具有文本类型值的var放入jQuery函数中
- JS:检查URL中的参数,然后迭代一个参数为var的函数
- javascript中对象构造函数中的var属性与this.properties
- 函数中this和var之间的区别
- JavaScript-的含义:var DndUpload=函数(inputElem){};
- 在jquery函数内部设置来自jquery函数的var;t运行
- 一个'var'在函数内部声明
- 根据函数参数将CSS值存储在var中,然后对其进行操作
- 如何知道函数的参数中传递的var名称
- 如何在函数内部为jquery工具提示调用不同的var字符串
- JS不工作:Sublime 3编辑器-Var main=函数()-=不是“”;激活“;(功能新手)
- “var”变量,“this”变量和“global”变量 - 在JavaScript构造函数中
- JavaScript 构造函数中的“var”变量会发生什么
- 未捕获的错误未定义不是函数 var ajax_url = $('#ajax_url').val();
- 在javascript中编写父函数var
- JavaScript中是否存在这种PHP语法?函数(var=null)
- 在Javascript函数Var中以echo格式获取数据
- 错误& # 39;美元.类型不是函数var obj = $.类型(pref);'在jqGrid中提交表单时
- 我如何分配一个var从传入函数var