如何在没有参数的情况下使用已知的var
How to use already known var without argument?
请帮帮我。在这个代码中,我得到了5而不是10…这是我的代码:
<html>
<head>
<script type="text/javascript">
b=function(){
alert(a);
}
</script>
</head>
<body>
<button id="b" onclick="c()">ok</button>
<script type="text/javascript">
var a=5;
c=function(){
var a = 10;
b();
}
</script>
</body>
</html>
示例
很明显,您将得到5,因为"a"在函数c()内部的两个位置定义,也用于全局范围。
由于函数b没有任何名为a的局部变量,它指的是值为5的全局变量;
小提琴:http://jsfiddle.net/T8grU/
var a=5;
b=function(){
alert(a);
}
c=function(){
a = 10;
b();
}
当您使用关键字"var"时,您将其声明为局部变量。因此,您不是在更改全局"a"变量,而是在"c"函数的本地定义一个新变量。
当您说var
时,您基本上重置了变量。删除c函数中的var
。它被定义为函数的局部变量!
c=function(){
a = 10;
b();
}
<html>
<head>
<script type="text/javascript">
b=function(){
alert(a);
}
</script>
</head>
<body>
<button id="b" onclick="c()">ok</button>
<script type="text/javascript">
var a=5;
c=function(){
a = 10;
b();
}
</script>
</body>
</html>
只需从第二个声明中删除var
关键字,就像这个一样
c=function(){
a = 10;
b();
}
请参阅codepen.io 上的结果
相关文章:
- 如何在未直接触发的情况下停止事件
- 在不使用JQuery的情况下隐藏DOM中的选定元素
- 在不使用jquery的情况下查找页面中的所有锚点并附加函数
- 在不打开聊天屏幕的情况下制作Zopim-ding代理
- 在不阻止默认行为的情况下检测IE10中的缩放
- 如何在不传递此信息的情况下查找被调用的元素
- 如何在不刷新页面的情况下更新显示框
- 有没有一种方法可以在控制台关闭的情况下让console.log()在IE中记录消息
- JavaScript-在手机上不工作的情况下,在外部单击时隐藏元素
- 在我的情况下,如何进行http请求
- Javascript变量在没有var的情况下工作
- 如何在没有参数的情况下使用已知的var
- 在不使用200行var的情况下,在结果字段中添加顺序命名的变量?[PDF表格]
- 为什么在没有 var 关键字的情况下分配给变量时会出现引用错误
- 如何在不删除 javascript 中的 var 的情况下使对象成为公共对象
- 如何在没有 ESLint no-unused-var 错误的情况下公开全局 javascript 函数
- 在不刷新的情况下在同一php页面中传递var
- 在没有赋值的情况下用var在JavaScript中声明变量会消耗内存吗
- 使用'var'当代码在没有使用的情况下工作时
- 为什么' var a= function(){} '在以下情况下与' function a(){} '相似