zoukankan      html  css  js  c++  java
  • exports和module.exports的区别

    最近忍不住开始尝试nodeJS了,简直又是打开了一片天地,学的越多越觉得自己好low,还有好多好多东西没有触碰,没有学习。

    解决这个问题的唯一的办法就是卧薪尝胆。

    好的,刚开始接触nodeJS,在视频学习的时候看到了exports和module.exports这两种导出模块函数的方法。哎,好老师太难遇到了,我唯一喜欢的老师就是带我坑js的石川老师,其他老师的视频我实在不知道说什么好。好吧又说别的了,其实我的意思是我没有听懂exports和module.exports的区别,而且那个老师也只是随便说了两句,但是觉得这个挺重要的,于是网上查了一些资料,自己的理解如下:

    其实module.exports就是{},而exports是指向module.exports的引用。

    有点难理解?

    那么接下来用js来说一下。

    var a = { x:1 };

    var b = a;

    这个可以看明白吧?看不明白出门右转去看javascript对象.

    接下来我可以这样用

    console.log(b.x);   // 1

    也可以这样用

    b.y = 2;

    console.log(a);    //  { x:1, y:2}

    所以看懂了吗?其实module.exports就是a,而exports就是b。

    当我们在nodeJS里面使用exports是这样的   exports.xxx = yyy; 假如你是用module.exports = yyy,那么yyy就会把原来{}里面的方法都覆盖,而exports.xxx就是添加属性。

    假如你一定要使用module.exports的话,可以这样module.exports.xxx = yyy;

    好的,结束。

  • 相关阅读:
    Anaconda使用命令
    排序算法3--插入排序--希尔排序(缩小增量排序)
    排序算法2--插入排序--折半插入排序
    排序算法1--插入排序--直接插入排序
    排序总结---常用的排序算法总结,java和js实现
    前端兼容性问题
    js对象的几种创建方式和js实现继承的方式[转]
    js原型和原型链[转]
    性能优化的方法
    Http状态码
  • 原文地址:https://www.cnblogs.com/claireyu1219/p/6323376.html
Copyright © 2011-2022 走看看