在JavaScript中同时调用函数和修改变量
Call function and modify variable at the same time in JavaScript
有没有一种方法可以同时调用函数和修改变量?拿着这个,<button onclick="change(); var con = true">click me</button>
<script>
function change() {
while (con == true) {
var x = event.clientX;
var y = event.clientY;
}
//do some more magical stuff
}
</script>
基本上,我只想在条件成立的情况下循环while循环,同时做一些更神奇的事情,这可能吗?
试试这个
<button onclick="window.con = true; change();">click me</button>
<script>
window.con = false;
function change() {
while (window.con == true) {
var x = event.clientX;
var y = event.clientY;
// Put some logic here to break the loop.
}
//do some more magical stuff
}
</script>
如示例代码所示使用while
或for
将在调用时锁定客户端的浏览器。考虑使用回调方式,例如使用setTimeout
使用setTimeout
包装函数,返回切换函数的示例
function toggleableFn(fn, rate) {
let timeout,
run = false,
loop;
function looper(args) {
if (!run) return; // double safety
fn.apply(this, args);
timeout = window.setTimeout(loop, rate);
}
return (...args) => {
run = !run;
if (run) {
loop = looper.bind(this, args);
loop();
return true
}
else {
window.clearTimeout(timeout);
}
return false;
};
}
var rep = toggleableFn((x, y) => console.log(x, y), 1e3);
rep('foo', 'bar'); // true
// logs "foo" "bar" every second until you toggle with `rep(); // false`
我不建议采用这种方法。并不是说这不好,但为了把所有代码都放在正确的位置,我会明确地把所有代码放在函数中。
而且——无意冒犯——这种编码实践有点"老派",试着学习例如jQuery,所有的东西都有望比更清晰
相关文章:
- 将函数从onclick修改为onload
- 当客户端将两个按钮的javascript函数参数修改为相同时,SQL/PHP会更新多行
- 每次调用函数时,都要修改Javascript中的局部变量
- 我如何才能访问修改这个价格函数在马根托
- 将修改后的数组作为参数传递给函数
- Javascript函数未修改html
- 为什么不是't此函数用于修改最终输出
- JavaScript:不修改实际数组的函数
- 使用 JQuery 修改函数写入文档的数据
- 如何使用书签修改页面中的函数
- 在JavaScript中同时调用函数和修改变量
- 从链接函数修改指令控制器变量
- 从原型方法中的内部函数修改实例变量
- ajax表单,用javascript函数修改值
- Backbone JS事件函数修改对象
- 如何防止函数修改常量中的字符串
- 如何在运行的JS函数中执行函数-修改JS游戏
- 用另一个函数修改一个函数的私有变量
- 不能从pageshow函数修改innerHTML
- 节点JS可以在for循环期间通过外部函数修改数组