Javascript 如何在没有全局变量的情况下访问此变量?
我正在想办法让它工作Javascript 如何在没有全局变量的情况下访问此变量?,javascript,jquery,Javascript,Jquery,我正在想办法让它工作 function foo(a) { $('#this-button').show(); } function buttonClicked() { //get access to var a } HTML 这是一个简化的版本,但我的想法是一样的 foo获取一个变量,然后使一个按钮可见。当点击按钮时,我想用var a做更多的事情 那么像是等待按钮被点击后继续这个功能吗 我好像想不出来 谢谢,这就是全局的原因,或者创建一个具有可以使用闭包的函数的对象 这就是全局的
function foo(a) {
$('#this-button').show();
}
function buttonClicked() {
//get access to var a
}
HTML
这是一个简化的版本,但我的想法是一样的
foo获取一个变量,然后使一个按钮可见。当点击按钮时,我想用var a做更多的事情
那么像是等待按钮被点击后继续这个功能吗
我好像想不出来
谢谢,这就是全局的原因,或者创建一个具有可以使用闭包的函数的对象 这就是全局的原因,或者创建一个具有可以使用闭包的函数的对象 这就是全局的原因,或者创建一个具有可以使用闭包的函数的对象 这就是全局的原因,或者创建一个具有可以使用闭包的函数的对象 您始终可以访问全局范围:
window.a = a;
但这通常是不好的做法。你能重组代码使两个地方都有一个可用的代码吗
即
您始终可以访问全局范围:
window.a = a;
但这通常是不好的做法。你能重组代码使两个地方都有一个可用的代码吗
即
您始终可以访问全局范围:
window.a = a;
但这通常是不好的做法。你能重组代码使两个地方都有一个可用的代码吗
即
您始终可以访问全局范围:
window.a = a;
但这通常是不好的做法。你能重组代码使两个地方都有一个可用的代码吗
即
使用jQuery绑定单击处理程序。您可以使用绑定
a
作为参数:
function foo(a) {
$('#this-button').show().click( $.proxy( buttonClicked, null, a ) );
}
function buttonClicked(a) {
// Use a here
}
并从html属性中删除JavaScript:
<button id="this-button" />
使用jQuery绑定单击处理程序。您可以使用绑定
a
作为参数:
function foo(a) {
$('#this-button').show().click( $.proxy( buttonClicked, null, a ) );
}
function buttonClicked(a) {
// Use a here
}
并从html属性中删除JavaScript:
<button id="this-button" />
使用jQuery绑定单击处理程序。您可以使用绑定
a
作为参数:
function foo(a) {
$('#this-button').show().click( $.proxy( buttonClicked, null, a ) );
}
function buttonClicked(a) {
// Use a here
}
并从html属性中删除JavaScript:
<button id="this-button" />
使用jQuery绑定单击处理程序。您可以使用绑定
a
作为参数:
function foo(a) {
$('#this-button').show().click( $.proxy( buttonClicked, null, a ) );
}
function buttonClicked(a) {
// Use a here
}
并从html属性中删除JavaScript:
<button id="this-button" />
HTML
将buttonClicked方法放入foo中,以获取对变量a的访问
将buttonClicked方法放入foo中,以获取对变量a的访问
将buttonClicked方法放入foo中,以获取对变量a的访问
将buttonClicked方法放入foo中以访问变量a有几种不同的方法可以剥除这只猫的皮,但有一种方法是使用闭包捕获变量a:
var myButton = document.getElementById('this-button');
function foo(a) {
myButton.addEventListener("click", buttonClicked(a));
...
}
function buttonClicked(a) {
return function() {
console.log('buttonClicked', a);
}
}
foo('Success!');
在这种情况下,当由foo
函数运行时,函数按钮单击
返回一个函数,该函数捕获a
的值。该结果函数随后被传递到事件处理程序
,并在触发时运行
请看这里的提琴:有几种不同的方法可以剥这只猫的皮,但有一种方法是使用闭包捕获
a
变量:
var myButton = document.getElementById('this-button');
function foo(a) {
myButton.addEventListener("click", buttonClicked(a));
...
}
function buttonClicked(a) {
return function() {
console.log('buttonClicked', a);
}
}
foo('Success!');
在这种情况下,当由foo
函数运行时,函数按钮单击
返回一个函数,该函数捕获a
的值。该结果函数随后被传递到事件处理程序
,并在触发时运行
请看这里的提琴:有几种不同的方法可以剥这只猫的皮,但有一种方法是使用闭包捕获
a
变量:
var myButton = document.getElementById('this-button');
function foo(a) {
myButton.addEventListener("click", buttonClicked(a));
...
}
function buttonClicked(a) {
return function() {
console.log('buttonClicked', a);
}
}
foo('Success!');
在这种情况下,当由foo
函数运行时,函数按钮单击
返回一个函数,该函数捕获a
的值。该结果函数随后被传递到事件处理程序
,并在触发时运行
请看这里的提琴:有几种不同的方法可以剥这只猫的皮,但有一种方法是使用闭包捕获
a
变量:
var myButton = document.getElementById('this-button');
function foo(a) {
myButton.addEventListener("click", buttonClicked(a));
...
}
function buttonClicked(a) {
return function() {
console.log('buttonClicked', a);
}
}
foo('Success!');
在这种情况下,当由foo
函数运行时,函数按钮单击
返回一个函数,该函数捕获a
的值。该结果函数随后被传递到事件处理程序
,并在触发时运行
请看这里的提示:您可以使用HTML5
localstorage
function foo(a) {
$('#this-button').show();
localStorage.setItem("variable_a", a); // variable in localstorage =variable_a
}
function buttonClicked() {
localStorage.getItem('variable_a');
//get access to var a
}
HTML5 localstorage允许您在客户端浏览器上存储数据,您可以通过
getItem()
访问数据。。。更多信息:[],[]您可以使用HTML5localstorage
function foo(a) {
$('#this-button').show();
localStorage.setItem("variable_a", a); // variable in localstorage =variable_a
}
function buttonClicked() {
localStorage.getItem('variable_a');
//get access to var a
}
HTML5 localstorage允许您在客户端浏览器上存储数据,您可以通过
getItem()
访问数据。。。更多信息:[],[]您可以使用HTML5localstorage
function foo(a) {
$('#this-button').show();
localStorage.setItem("variable_a", a); // variable in localstorage =variable_a
}
function buttonClicked() {
localStorage.getItem('variable_a');
//get access to var a
}
HTML5 localstorage允许您在客户端浏览器上存储数据,您可以通过
getItem()
访问数据。。。更多信息:[],[]您可以使用HTML5localstorage
function foo(a) {
$('#this-button').show();
localStorage.setItem("variable_a", a); // variable in localstorage =variable_a
}
function buttonClicked() {
localStorage.getItem('variable_a');
//get access to var a
}
HTML5 localstorage允许您在客户端浏览器上存储数据,您可以通过getItem()
访问数据。。。更多信息请点击此处:[],[]您可以使用。他们可以获得:
- 元素中定义的属性(如果有)
- 元素所有者表单中定义的属性(如有)
- 文档中定义的属性
- 全局对象中的属性(即全局变量)
单击我
您可以使用。他们可以获得:
- 元素中定义的属性(如果有)
- 元素所有者表单中定义的属性(如有)
- 文档中定义的属性
- 全局对象中的属性(即全局变量)