作家
登录

在Node.js中看JavaScript的引用

作者: 来源: 2017-04-11 09:02:23 阅读 我要评论

  • var app = express(); 
  •  
  • app.get('/'function (req, res) { 
  •   res.send(b.num); 
  • }); 
  •  
  • app.listen(3000); 
    1. console.log(module.exports === exports); // true 
    2. // 所以 exports 所操作的就是 module.exports 

    然则实际的开辟过程中,如许很快就碰着了问题。我们欲望的代码可能是如许:

    但按照这个目标封装include的时刻,我们发清楚明了问题。无论我们在include.js内部中若何实现,都不克不及像开端那样拿到新的 b.num。

    比较开端的代码,我们发明问题出在少了 b = xx。也就是嗣魅如许写才可以:

    web.js

    1. var include = require('./include'); 
    2. var express = require('express'); 
    3. var app = express(); 
    4.  
    5. app.get('/'function (req, res) { 
    6.   var b = include('./b.js'); 
    7.   res.send(b.num); 
    8. }); 
    9.  
    10. app.listen(3000); 

    修改成如许,就可以包管每次能可以精确的刷新到最新的代码,并且不消重启实例了。读者有兴趣的可以研究这个include是怎么实现的,本文就不深刻评论辩论了,因为这个技能运费用不高,写起起来不是很优雅[1],反而这个中有一个更重要的问题——JavaScript的引用。

    JavaScript 的引用与传统引用的差别

    要评论辩论这个问题,我们起重要懂得 JavaScript 的引用于其他说话中的一个差别,在 C++ 中引用可以直接修改外部的值:

    1. #include <iostream>  
    2. using namespace std;  
    3. void test(int &p) // 引用传递 
    4.     p = 2048; 
    5.  
    6. int main() 
    7.     int a = 1024; 
    8.     int &p = a; // 设置引用p指向a  
    9.     test(p); // 调用函数  
    10.     cout << "p: " << p << endl; // 2048 
    11.     cout << "a: " << a << endl; // 2048 
    12.     return 0; 
    1. var obj = { name'Alan' };  
    2. function test1(obj) { 
    3.   obj = { hello: 'world' }; // 试图修改外部obj 
    4.  
    5. test1(obj); 
    6. console.log(obj); // { name'Alan' } // 并没有修改①  
    7. function test2(obj) { 

        推荐阅读

        移动互联网人口红利逐渐消退 华为Hi-Star晨星计划一触即发

      【51CTO.com原创稿件】 据懂得,在2016岁尾,我国移动智能终端范围冲破13.7亿台,跟着人口红利减退,充分盘活、经营现有流量便成为了各行各业全新的机会与挑衅。经由过程近几年互联网手机>>>详细阅读


      本文标题:在Node.js中看JavaScript的引用

      地址:http://www.17bianji.com/lsqh/34702.html

    关键词: 探索发现

    乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

    网友点评
    自媒体专栏

    评论

    热度

    精彩导读
    栏目ID=71的表不存在(操作类型=0)