我正在关注一些画布教程.下面的代码是一个片段.
在这个片段中,他们为什么不选择runAnimation
成为一个简单的布尔值?我认为该x = !x
声明无论如何都会起作用,但是当我尝试更改代码以使用布尔时,代码不起作用.
那么,作为基元的布尔值和作为对象属性的布尔值之间的区别是什么?
/*
* define the runAnimation boolean as an object
* so that it can be modified by reference
*/
var runAnimation = {
value: false
};
// add click listener to canvas
document.getElementById('myCanvas').addEventListener('click', function() {
// flip flag
runAnimation.value = !runAnimation.value;
Run Code Online (Sandbox Code Playgroud)