我是学习javascript的新手。我已经按照一些基本的教程了。我正在尝试理解我找到的脚本。这个脚本在几个地方有如下内容:
var USE_CANVAS = !0;
if ("trydom" == window.location.hash || "#trydom" == window.location.hash) USE_CANVAS = !1;
我不知道这意味着什么?当我通过简单地将它输入控制台来评估这个变量时,它返回'true'。 我在网上找不到这种风格的参考。 我应该提一下脚本依赖于underscore.js和d3.js,但是我个人在这两个库中找不到任何类似上面的内容。
我无法解释的另一条线路与“问题”和“冒号”的使用有关,如下所示:
b.select(".y.axis").call(j)) : "pop" === a ? (c = "rMVMP", j.scale(C).tickV…
您可以忽略对select,call和scale的引用,因为这些都是d3js函数。 我只是粘贴第二行,因为我不确定这是'javascript'还是完全不同的语言。但该文件名为'chart.js'。
此致 理查德。
答案 0 :(得分:4)
在Javascript中,1是“truthy”,意味着1可以表示布尔值为真。
这意味着1基本上可以表示真实。同样,0是假的,意思是假。
所以如果有什么东西!1,那就是“不正确”,这意味着它是假的。
var USE_CANVAS = true;
基本上与:
相同global
quiet
nbproc 4
daemon
listen tcp_haproxy 172.17.4.230:5001
balance roundrobin
server server0 172.17.4.227:5001
server server1 172.17.4.228:5001
server server2 172.17.4.229:5001
但占用的空间更少,通常是JS的缩小程度。
答案 1 :(得分:0)
表达式!1
的计算结果为false
。目前尚不清楚为什么有人会编写这样的代码。
? :
运算符源于C的遗留。它是“三元”运算符,它是if ... else
语句的简写(表达形式)。
因此
test ? whenTrue : whenFalse
当whenTrue
为test
(或“真实”)时,将评估为true
,而whenFalse
则为python -m SimpleHTTPServer 8000
。