Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/462.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 这是怎么回事?类型=类型| |和#x27;任何';;_Javascript - Fatal编程技术网

Javascript 这是怎么回事?类型=类型| |和#x27;任何';;

Javascript 这是怎么回事?类型=类型| |和#x27;任何';;,javascript,Javascript,谁能给我解释一下这个表达式是怎么工作的吗 type = type || 'any'; 这是否意味着如果类型未定义,请使用“any”?这是一个正确或可选的条件。基本上不那么冗长 测试一下: 这是一个正确或可选的条件。基本上不那么冗长 测试一下: 这意味着,如果类型的计算结果为false,则使用“any”。也就是说,如果类型未定义,false,0,…这意味着,如果类型的计算结果为false,则使用“any”。也就是说,如果type是未定义的、false、0、如果type是“falsy”(即fals

谁能给我解释一下这个表达式是怎么工作的吗

type = type || 'any';

这是否意味着如果类型未定义,请使用“any”?

这是一个
正确或可选的条件。基本上不那么冗长

测试一下:


这是一个
正确或可选的
条件。基本上不那么冗长

测试一下:


这意味着,如果类型的计算结果为false,则使用“any”。也就是说,如果类型未定义,false,0,…

这意味着,如果类型的计算结果为false,则使用“any”。也就是说,如果type是未定义的、false、0、

如果
type
是“falsy”(即
false
,或
未定义的
或空字符串或null或未定义),则使用“any”

如果
type
是“falsy”(即
false
,或
未定义的
或空字符串或null或未定义的),则使用“any”

如果变量
类型
是一个“假”值,则将其设置为字符串
'any'
,否则将其设置为自己的值。

如果变量
类型
是一个“假”值,则将其设置为字符串
'any'
,否则,它将被设置为自己的值。

MDN Docs to the rescue:Jaidev您为什么觉得有必要从问题中删除他的“提前感谢”?这真的有必要吗?在JavaScript表达式中使用
&&
|
的短路,特别是作为三元运算符的替代,可以就此主题写一篇简短但有趣的论文。最简单的例子是OP给出的例子——如果设置为“有趣的”值,则使用第一个值,否则使用常量作为值——但还有更复杂的用例。MDN文档解救:Jaidev为什么你觉得有必要从问题中删除他的“提前感谢”?这真的有必要吗?在JavaScript表达式中使用
&&
|
的短路,特别是作为三元运算符的替代,可以就此主题写一篇简短但有趣的论文。最简单的情况是OP给出的情况——如果设置为“有趣的”值,则使用第一个值,否则使用常量作为值——但还有更复杂的用例。或者NaN(@nnnnnn-我遗漏了其他的吗?)或者NaN(@nnnnnn-我遗漏了其他的吗?)
var type = 0;

type = type || 'any';
alert('0 = ' + type); // alerts 0 = any

type = 1;

type = type || 'any';
alert('1 = ' + type); // alerts 1 = 1

type = true;

type = type || 'any';
alert('true = ' + type); // alerts true = true

type = false;

type = type || 'any';
alert('false = ' + type); // alerts false = any

type = 'foobar';

type = type || 'any';
alert('foobar = ' + type); // alerts foobar = foobar

type = '';

type = type || 'any';
alert('\'\' = ' + type); // alerts '' = any

type = null;

type = type || 'any';
alert('null = ' + type); // alerts null = any

type = new Array();

type = type || 'any';
alert('new Array() = ' + type); // alerts new Array() = 

type = [];

type = type || 'any';
alert('[] ' + type); // alerts [] = 

type = {};

type = type || 'any';
alert('{} = ' + type); // alerts {} = [object Object]

type = new Object;

type = type || 'any';
alert('new Object = ' + type); // alerts new Object = [object Object]