Highstock源代码中的奇怪字符

时间:2013-07-16 18:34:54

标签: javascript highcharts highstock

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

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

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

1 个答案:

答案 0 :(得分:1)

在这种情况下,当元素属性(elem.opacity)为falsey时,看起来这是一种抛出异常的快捷方法。

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

alert(elem.opacity ||Â 0);

写作比写作短:

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

注意:throw语句将无法正常工作(写入控制台“某些错误消息”) - 因为三元表达式应该返回一个值。

因此,(elem.opacity ||Â 0)足以使代码简洁/简洁和防御,但不是非常语义......


简而言之

以下内容:

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

转换为:

如果elem.opacityundefined,则会出错。