javascript - Highstock 源代码中的奇怪字符

标签 javascript highcharts

当我看到这段代码时,我正在查看 highcharts 的最新代码:

wrap(opacityHook, 'get', function (proceed, elem, computed) {
    return elem.attr ? (elem.opacity ||Â 0) : proceed.call(this, elem, computed);
});

为什么源代码中有一个字符?这不可能是正确的,不是吗?

最佳答案

在本例中,当所述元素属性 (elem.opacity) 为 falsey 时,看起来这是抛出异常的快速方法。 .

运行以下语句会引发“运行时”错误:

alert(elem.opacity ||Â 0);

比写作短的写作:

alert(elem.opacity ? elem.opacity : throw 'some error message');

注意:throw 语句不会按预期工作(向控制台写入“一些错误消息”)——因为三元表达式应该返回一个值。

因此,(elem.opacity ||Â 0) 就足够了,并使代码保持简洁/简洁和防御性,但语义不太强......

<小时/>

简而言之

以下内容:

... (elem.opacity ||Â 0) ...

翻译为:

如果 elem.opacity未定义,则抛出错误。

关于javascript - Highstock 源代码中的奇怪字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17684403/

相关文章:

javascript - Firefox 为浏览器错误添加监听器

css - 如何为标签使用 CSS3 背景线性渐变 (Highcharts)

javascript - 类型区域范围的 Highcharts 不显示圆圈等标记

javascript - 使用javascript重新加载时更改当前页面的URL

javascript - 使用正则表达式解析 Javascript 中的 Wiki 标记

javascript - Highchart 显示折线图最后一点的指标

javascript - Highcharts 滚动条不起作用

Highcharts:半实线和半虚线的折线图?

javascript - 我如何在 Meteor 中设置和获取 cookie(服务器端)?

javascript - GraphQL 字段作为函数