Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/420.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用||_Javascript - Fatal编程技术网

Javascript 使用||

Javascript 使用||,javascript,Javascript,我目前正在调查Three.js,在主源文件的顶部遇到了以下变量声明: var THREE = THREE || { REVISION: '52' }; 我只是想知道OR(| |)在那里做什么-它的功能是什么?上面的意思是: 如果THREE的值计算为true,则将THREE的值分配给THREE变量,否则将其初始化为对象{REVISION:'52'}上述意思是: 如果THREE的值计算为true,则将THREE的值分配给THREE变量,否则将其初始化为对象{REVISION:'52'}惰性实例化。

我目前正在调查Three.js,在主源文件的顶部遇到了以下变量声明:

var THREE = THREE || { REVISION: '52' };
我只是想知道OR(| |)在那里做什么-它的功能是什么?

上面的意思是:

如果
THREE
的值计算为
true
,则将
THREE
的值分配给
THREE
变量,否则将其初始化为对象
{REVISION:'52'}
上述意思是:


如果
THREE
的值计算为
true
,则将
THREE
的值分配给
THREE
变量,否则将其初始化为对象
{REVISION:'52'}
惰性实例化。如果变量已声明,则为其赋值。

延迟实例化。如果变量已声明,则为其指定一个值。

在代码中,类似于:

var THREE;
if (THREE) {
    THREE = { REVISION: '52' };
}
else {
    THREE = THREE;
}
或:


在代码中,这就像说:

var THREE;
if (THREE) {
    THREE = { REVISION: '52' };
}
else {
    THREE = THREE;
}
或:


它测试
THREE
的计算结果是否为真,而不是它是否被定义。@Quentin-答案更新-更好?太好了,谢谢你的帮助。它测试
THREE
的计算结果是否为真,而不是它是否被定义。@Quentin-答案更新-更好?太好了,谢谢你的帮助。如果
THREE
0
呢?@Quentin很好!希望我现在就拿到了(?)=如果
3
0
?@Quentin说得好!希望我现在就拿到了(?)=)