zoukankan      html  css  js  c++  java
  • node.js的基本语法

    一:对象和模块作用域:

    (一):global的概念:

    1:在之前使用JavaScript的过程中,在浏览器中默认声明的变量、函数等都属于全局对象Window。全局对象中的所有变量和函数在全局作用域内都是有效的。

    2:在Node.js中,默认就是模块化的,默认声明的变量、函数都属于当前文件模块,都是私有的,只在当前模块作用域内可以使用,

    3:值,可以应用全局对象global。Node.js中的global对象类似于浏览器中的Window对象,用于定义全局命名空间,所有全局变量(除了global本身以外)都是global对象的属性,在实际使用中可以省略global。

    var foo = 23;//在之前浏览器中默认声明的变量和函数等都是全局变量,而在node.js中则相反.
    console.log(foo);
    console.log(global.foo);//测试foo是否为全局变量,记住所有的全局变量都是global对象的属性,类似也浏览器中的window对象。
    global.foo = foo;
    console.log("输出global对象的foo属性的值"+global.foo);//global对象能够实现文件模块与文件模块之间的数据共享。
    //输出

    23
    undefined
    输出global对象的foo属性的值23

    (二):使用require()、exports、module.exports来实现模块之间内容的共享。

    //被加载模块.js
    var s = 23;
    exports.s = s;//使用exports向外开放模块变量,
    exports.name = "deng";
    module.exports.age = 100; //使用module.exports向外开放变量age
    exports.sayHello = function hello()
    {
        console.log("hello wan qian.");
        console.log("and田丹");
    };
    var gl = require('./global');//用来测试global对象的属性是否能过实现模块内容之间的共享.
    console.log(gl);//{ name: 'li' }
    输出:

    23
    undefined
    输出global对象的foo属性的值23
    { name: 'li' }

    【注意】:global.js中的程序被执行了,唯独被使用export开放的变量,以json的格式返回到gl中,

    global.js

    //global.js
    var foo = 23;//在之前浏览器中默认声明的变量和函数等都是全局变量,而在node.js中则相反.
    console.log(foo);
    console.log(global.foo);//测试foo是否为全局变量,记住所有的全局变量都是global对象的属性,类似也浏览器中的window对象。
    global.foo = foo;
    console.log("输出global对象的foo属性的值"+global.foo);
    exports.name = "li";

    发起加载模块.js

    //发起加载模块.js
    var my_modul = require("./被加载模块");//require函数返回的是一个被加载模块的对象.
    console.log(my_modul); //{ s: 23, name: 'deng', age: 100, sayHello: [Function: hello] }
    console.log("my_modul.s="+my_modul.s);//23
    console.log("my_modul.name="+my_modul.name);//deng
    
    //输出
    23
    undefined
    输出global对象的foo属性的值23
    { name: 'li' }
    { s: 23, name: 'deng', age: 100, sayHello: [Function: hello] }
    my_modul.s=23
    my_modul.name=deng
    【注意】:在发起加载模块中也运行了global模块中的代码,这是因为他加载的模块(即被加载的模块)加载了global.js模块,但是开放部分没有继承。
  • 相关阅读:
    核心编程(第七章)
    核心编程答案(第六章)
    spring aop配置切点执行了两次的原因
    spring AOP使用 xml配置
    有关于时间戳的pgsql操作
    sql 中 limit 与 limit,offset连用
    学习大数据笔记day1
    Java实现各种排序
    关于java洗牌发牌小程序
    flex.css
  • 原文地址:https://www.cnblogs.com/1314bjwg/p/12399047.html
Copyright © 2011-2022 走看看