最近2018中文字幕在日韩欧美国产成人片_国产日韩精品一区二区在线_在线观看成年美女黄网色视频_国产精品一区三区五区_国产精彩刺激乱对白_看黄色黄大色黄片免费_人人超碰自拍cao_国产高清av在线_亚洲精品电影av_日韩美女尤物视频网站

RELATEED CONSULTING
相關(guān)咨詢(xún)
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷(xiāo)解決方案
exports和module.expors之間有哪些區(qū)別

這篇文章主要介紹exports和module.expors之間有哪些區(qū)別,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!

成都創(chuàng)新互聯(lián)專(zhuān)注于岱岳企業(yè)網(wǎng)站建設(shè),成都響應(yīng)式網(wǎng)站建設(shè),商城開(kāi)發(fā)。岱岳網(wǎng)站建設(shè)公司,為岱岳等地區(qū)提供建站服務(wù)。全流程定制網(wǎng)站建設(shè),專(zhuān)業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,成都創(chuàng)新互聯(lián)專(zhuān)業(yè)和態(tài)度為您提供的服務(wù)

我們?cè)谀K化開(kāi)發(fā)中,必須會(huì)用到exports/module.exports這兩個(gè)玩意導(dǎo)出變量或者函數(shù)。因?yàn)槟K化開(kāi)發(fā)中的每個(gè)模塊都有自己的模塊作用域。
比如:

//a.js
var foo = '蘇小貓'
//b.js
console.log(foo)

我們?cè)赽.js中是沒(méi)辦法訪問(wèn)到a.js中的foo變量,所以b.js輸出的是“undefine”。如果我們想在b.js模塊中訪問(wèn)a.js中的foo變量,我們必須在a.js中用exports或者module.exports導(dǎo)出foo變量。
比如

//a.js
var foo = '蘇小貓';

module.exports = foo;
//b.js
var foo = require('./b.js');

console.log(foo);

exportsmodule.expors的關(guān)系和區(qū)別?

在開(kāi)發(fā)中,我們很糾結(jié)到底用exports還是module.exports,其實(shí)exports跟module.exports就是一個(gè)玩意,exports只是module.exports的一個(gè)引用。exports跟module.exports是等價(jià)的。我們可以在node里測(cè)試一下。

exports和module.expors之間有哪些區(qū)別

每個(gè)模塊最終返回的還是return module.exports;

在我們平常的理解中導(dǎo)出單個(gè)變量或者單個(gè)函數(shù)就用module.exports;

module.exports = function(){
    console.log("在你心里種點(diǎn)Bnum")
}

//我們r(jià)equire之后就會(huì)得到一個(gè)[Function]

導(dǎo)出多個(gè)變量就用exports;

exports.name = "蘇小貓"
exports.tree = function(){
    console.log("在你心里種點(diǎn)Bnum")
}
//我們r(jià)equire之后就會(huì)得到一個(gè)對(duì)象{name:"蘇小貓",tree:[Function]}

exports和module.exports本身就是一個(gè)空對(duì)象,exports.xxx就等于在一個(gè)對(duì)象里面添加?xùn)|西。

為什么module.exports導(dǎo)出的是單個(gè)?

因?yàn)樗緛?lái)是一個(gè)空對(duì)象,module.exports=xxx?,F(xiàn)在你重新給它賦值了,所以它只導(dǎo)出這個(gè)xxx。

exports和module.expors之間有哪些區(qū)別

如果給exports(exports={})重新賦值,這時(shí)它的意義就不同了;現(xiàn)在的exports,跟module.exports沒(méi)有了半毛錢(qián)的關(guān)系了,exports.xxx = xxx;再往里面添加?xùn)|西已經(jīng)不會(huì)再影響最后返回回來(lái)的return module.exports了。

exports和module.expors之間有哪些區(qū)別

看,現(xiàn)在age已經(jīng)不進(jìn)入最后的return module.exports里面了。

如果還想繼續(xù)用exports.xxx,那就得重新再給module.exports賦值給exports。

exports和module.expors之間有哪些區(qū)別

看,現(xiàn)在又生效了。

如果很糾結(jié)在開(kāi)發(fā)中到底用很exports,還是module.exports,那就忘記exports吧(忘記它,我們不需要備胎,哈哈哈哈)。
一開(kāi)始就是說(shuō)了,exports本身就是module.exports的一個(gè)引用。exports能做的module.exports都能做。比如導(dǎo)出多個(gè)變量或者函數(shù)。

exports和module.expors之間有哪些區(qū)別

以上是exports和module.expors之間有哪些區(qū)別的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!


文章題目:exports和module.expors之間有哪些區(qū)別
標(biāo)題路徑:http://fisionsoft.com.cn/article/gcdcsj.html