numba = 1;
function A() {
numba++;
console.log(numba);
}
$(function() {
var numnum2 = 0;
setInterval('A()',1000);
//setInterval(B.apply($(this)), 1000);
});
function B() {
$(this).numnum2++;
console.log($(this).numnum2);
}
如何让B()
作为A()
减去全局变量?
答案 0 :(得分:3)
$(function() {
var numnum2 = 0;
function B() {
numnum2++;
console.log(numnum2);
}
setInterval(A,1000);
setInterval(B,1000);
});
或
function B() {
if(typeof B.numnum2 === 'undefined') B.numnum2 = 0;
B.numnum2++;
console.log(B.numnum2);
}
$(function() {
B.numnum2 = 0;
setInterval(A, 1000);
setInterval(B, 1000);
});
答案 1 :(得分:1)
你做不到。 JavaScript只传递值。
您可以使用该属性传递对象。
function A(a) {
a.numbna++;
console.log('from A: ' + a.numbna);
}
$(function() {
var a = { numbna : 0 };
setInterval(function() { A(a) },1000);
setInterval(function() { B(a) },1000);
//setInterval(B.apply($(this)), 1000);
});
function B(a) {
a.numbna++;
console.log('from B: ' + a.numbna);
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.2.3/jquery.min.js"></script>
答案 2 :(得分:1)
不确定你到底在找什么,但这是吗?
function newA() {
var numba = 0;
setInterval(function() {
numba++;
console.log(numba);
}, 1000);
}