[英]interpreting var a=b.c={} in javascript?
我正在遍历node.js
,遇到了类似var exports = module.exports = {};
东西var exports = module.exports = {};
在模块部分。
这与var a=bc={}
非常相似,我如何形象地看待它?
这里发生了什么事?
据我了解, a
和b
都被分配为对象,它们都描述相同的事物,还是它们都引用相同的事物?
例
exports.sayHelloInEnglish = function() {
return "HELLO";
};
exports.sayHelloInSpanish = function() {
return "Hola";
};
如同
module.exports = {
sayHelloInEnglish: function() {
return "HELLO";
},
sayHelloInSpanish: function() {
return "Hola";
}
};
有人可以用简单得多的方式向我解释吗?
var exports = module.exports = {};
,我如何可视化它?
首先,请确保了解其解析方式,语法包含哪些组件。 基本上是两个嵌套的任务1 :
var exports = (module.exports = {});
您可以将其翻译成等效的
var _temp = {};
module.exports = _temp;
var exports = _temp;
是的,它们都将包含相同的对象。
1:在语法上,它是变量声明的初始化程序中的赋值表达式,但是为了便于理解,我们忽略了var
根据语句的分析树,这是按顺序发生的事情。
例如,您可以尝试此操作。
var a = [1,5]
var b = a
b[1] = 2
console.log(a)
console.log(b)
两者都将具有更新的值。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.