zoukankan      html  css  js  c++  java
  • 关于 require的缓存

    有两个文件

    a.js内容如下:

    1 var add = require("./t.js").add;
    2 
    3 var add2 = require("./t.js").add;
    4 console.log(add())
    5 console.log(add())
    6 console.log(add2())

    t.js内容如下:

    1 var a = 10;
    2 module.exports.add  = function(){
    3     return ++a;
    4 }

    node a.js

    打印结果为:

    在html中嵌入一段js

    代码如下:

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Document</title>
    </head>
    <body>
    <script type="text/javascript">
        var foo = function(){
        var a =1;
        return function(){
            return ++a;
        }
    }
    var a1 = foo();
    var a2 = foo();
    console.log(a1());
    console.log(a1());
    console.log(a2())
        </script>
    </body>
    </html>

    打印结果如下:

    事实证明

    nodejs的require 缓存了函数中的 变量值,第二次require时 并未重新加载;

    而 原生js 函数每次返回的都是一个新的对象 

    坚持下去就能成功
  • 相关阅读:
    MyBatis入门
    Java JDBC
    Spring MVC
    Java内存模型
    Java日志
    Java I/O模型
    Java异常处理
    Java泛型设计
    Java反射
    Java代理
  • 原文地址:https://www.cnblogs.com/suoking/p/5945786.html
Copyright © 2011-2022 走看看