从模块外部访问内部成员

从模块外部访问内部成员

1.使用exports

exports.js:

var myMsg='hello';
var funcname = function () {
    return 'testMsg';
};

exports.msg = myMsg;
exports.funcname = funcname;

foo.js:

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

console.log(foo.msg);

console.log(foo.funcname());

2.将模块定义为类(module.exports)

student.js:

var _name,_age;
var name = '',age =0;
//模块对象的构造函数
var foo=function (name,age) {
    _name = name;
    _age= age;
}

foo.prototype.GetName= function () {
    return _name;
}

foo.prototype.SetName= function (name) {
    _name= name;
}
foo.prototype.GetAge= function () {
    return _age;
}

foo.prototype.SetAge= function (age) {
    _age= age;
}

foo.prototype.name = name;
foo.prototype.age = age;
module.exports = foo;

stuTest.js

var foo = require('./student.js');
var myFoo = new foo("tom",14);
console.log("获取修改前的私有变量");
console.log(myFoo.GetName());
console.log(myFoo.GetAge());

myFoo.SetName("bob");
myFoo.SetAge(20);
console.log("获取修改后的私有变量");
console.log(myFoo.GetName());
console.log(myFoo.GetAge());

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏mini188

java中的锁

java中有哪些锁 这个问题在我看了一遍<java并发编程>后尽然无法回答,说明自己对于锁的概念了解的不够。于是再次翻看了一下书里的内容,突然有点打开脑门的感觉...

53990
来自专栏androidBlog

java 解决文件名重复问题的两种方法

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/gdutxiaoxu/article/de...

47610
来自专栏python成长之路

读取除#开头的行的文件

17040
来自专栏jeremy的技术点滴

JVM的Finalization Delay引起的OOM

43280
来自专栏大内老A

如何解决EnterLib异常处理框架最大的局限——基于异常"类型"的异常处理策略

个人觉得EnterLib的EHAB(Exception Handling Application Block)是一个不错的异常处理框架,借助于EHAB,我们可以...

22250
来自专栏SDNLAB

POF技术分享(三):Packet处理流程

前言: 之前对POF基本原理、POF交换机源码结构进行解读,但是,要想完成POF交换机的二次开发和拓展,有必要对POF交换机特有的数据包处理流程、POF交换机和...

396120
来自专栏Android 研究

APK安装流程详解5——Installer、InstallerConnection和Installd守护进程

因为Installer继承自SystemService,所以我们看下Installer的onStart方法 代码在Installer.java 396行

18310
来自专栏芋道源码1024

Spring Webflux —— 源码阅读之 handler 包

查找给定请求的handler,如果找不到特定的请求,则返回一个空的Mono。这个方法被getHandler(org.springframework.web.se...

42350
来自专栏Spark生态圈

[spark] Shuffle Write解析 (Sort Based Shuffle)

从 Spark 2.0 开始移除了Hash Based Shuffle,想要了解可参考Shuffle 过程,本文将讲解 Sort Based Shuffle。

16120
来自专栏JMCui

Netty 系列六(编解码器).

    网络传输的单位是字节,如何将应用程序的数据转换为字节,以及将字节转换为应用程序的数据,就要说到到我们该篇介绍的编码器和解码器。

12510

扫码关注云+社区

领取腾讯云代金券