我正在调试一些JavaScript,并不能解释这||是做什么的?
function (title, msg) {
var title = title || 'Error';
var msg = msg || 'Error on Request';
}
Run Code Online (Sandbox Code Playgroud)
有人可以给我一个提示,为什么这个人正在使用var title = title || 'ERROR'?我有时也会在没有var声明的情况下看到它.
看一下在线源代码,我在几个源文件的顶部看到了这个.
var FOO = FOO || {};
FOO.Bar = …;
Run Code Online (Sandbox Code Playgroud)
但我不知道是什么|| {}.
我知道{}是等于new Object(),我认为这||是为了"如果它已经存在使用其值,否则使用新对象.
为什么我会在源文件的顶部看到这个?
为什么这些逻辑运算符返回一个对象而不是布尔值?
var _ = (obj.fn && obj.fn() ) || obj._ || ( obj._ = {} );
var _ = obj && obj._;
Run Code Online (Sandbox Code Playgroud)
我想理解为什么它返回obj.fn()(如果已定义)OR的obj._结果,但不返回布尔结果.
我正在学习javascript,今天我找到了这段代码:
window.Picture2 = window.Picture2 || {};
Run Code Online (Sandbox Code Playgroud)
我不明白|| {}; 有人可以帮我解释一下吗?Tks这么多:)
我试图通过阅读来解决一些混淆的代码,并且在遇到以下问题之前我做得很好:
a = a && "*"
Run Code Online (Sandbox Code Playgroud)
现在我对 Javascript 还是很陌生,这些缩短的不常见的 javascript 代码对我来说仍然很陌生,这是我第一次遇到它们。
有人知道这是做什么的吗?我在一个 javascript 代码测试器广告中尝试过它刚刚返回 *,所以我不知道。
此外,如果有人知道我可以在哪里查看这些不常见的代码行的作用,那将非常有帮助。它们都被缩短了,就像这样的东西
a = a || b
Run Code Online (Sandbox Code Playgroud)
(我知道那个是做什么的)
但是,如果这种 javascript 有某种名称或我可以查看的参考资料,那将非常有帮助,我已经在 Google 上搜索了几个小时。
谢谢
我遇到了这段代码:
<a ng-click= "item.statusId !== itemStatus.in || transfer()">
Run Code Online (Sandbox Code Playgroud)
我想我们可以概括为:
<element ng-click = "someVar !== someValue || doStuff()">
Run Code Online (Sandbox Code Playgroud)
然后我发现这篇文章是关于短路的,另一篇是关注的文章,一旦我知道它们被称为什么.但是,我仍然没有得到它.
如果第一个语句的计算结果为true,它是否基本上符合OR语句结束评估的原则?因此,如果第一个语句为真,则结束评估,如果为false,则在OR语句的后半部分运行该函数?(这是我要问的主要问题,其他一切都是额外的).
我想我得到的部分是编译器是否以不同方式解释此代码,或者它仍然计算为false并且只运行该函数.甚至不确定如何短语Q.
可能的重复:
javascript 的空合并运算符?
“选项=选项||”是什么意思 {}”在 Javascript 中是什么意思?
有人能解释一下这个表达吗?我偶然发现了 javascript 代码行,我想知道它是什么意思。
var node = element.node || element[element.length - 1].node;
Run Code Online (Sandbox Code Playgroud)
node get 的用法如下:
if (node.nextSibling) {
node.parentNode.insertBefore(this.node, node.nextSibling);
} else {
node.parentNode[appendChild](this.node);
}
Run Code Online (Sandbox Code Playgroud)
起初我虽然 node 应该是一个布尔值或其他东西,但它不是。如果我认为意思是: node 是 element.node 但如果 node 属性是 undefined node 是元素数组中的最后一个元素,我是否正确?
我正在尝试做一些事我虽然很简单.将值1添加到数字中.
然而,数字是纯文本,事情变得有点混乱.正如你可能猜到的那样,我对此很新.
我的目标是在现有分数上加1分,分数有一个小数位,例如1.3.因此,添加点后的期望结果是2.3.但是我写的当前脚本是返回添加点到第二个小数位,我不明白为什么.
谢谢您的帮助.
var getPoints = parseInt($('.awesome-points').text(), 10).toFixed(1);
alert(getPoints);
var addPoint = 1;
var newScore = getPoints + addPoint;
$('.awesome-points').text(newScore);
Run Code Online (Sandbox Code Playgroud)
标记