gpt4 book ai didi

javascript - 这行javascript是什么意思?

转载 作者:行者123 更新时间:2023-11-30 17:29:55 26 4
gpt4 key购买 nike

我刚刚打开 Retina.js,希望能学到一些东西,但我在第一行就被难住了。

var root = (typeof exports === 'undefined' ? window : exports);

这条线到底做了什么?

再往下,

 function Retina() {}

root.Retina = Retina;

Retina 属性是如何在没有先定义的情况下从 root 中设置出来的?

最佳答案

typeof 是一个运算符,当它用在一个根本没有定义的变量上时,仍然会产生值 'undefined'。所以表达:

(typeof exports === 'undefined' ? window : exports)

检查 exports 是否不在范围内。如果不是,则生成 window(浏览器中的全局对象),如果是,则生成 exports(导出 的标准名称)来自[某种]模块的东西——见Relation between CommonJS, AMD and RequireJS?)。然后将结果分配给 root

如果您想了解条件运算符,

var d = a ? b : c;

或多或少等同于

var d;

if (a) {
d = b;
} else {
d = c;
}

至于 root.Retina = Retina;,与 JavaScript 中的所有其他属性一样,不需要声明它,也没有声明它的工具。

关于javascript - 这行javascript是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23344266/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com