从模块外部访问内部成员

简介: 从模块外部访问内部成员1.使用exportsexports.js:var myMsg='hello';var funcname = function () { return 'testMsg';};exports.

从模块外部访问内部成员

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());
相关文章
Debian 官方源换为国内的源的操作方法
apt-get update 报错,采用更换源的方式解决问题。
55836 0
|
11月前
|
数据可视化 大数据 API
低代码可视化开发-uniapp新闻跑马灯组件-代码生成器
低代码可视化开发-uniapp新闻跑马灯组件-代码生成器
424 2
|
JSON 小程序 前端开发
小程序中使用npm安装vant组件实现按需引入减少代码包大小,避免触发用户隐私协议
微信小程序按需引入 vant 组件,自动清除项目中未使用的 vant 组件,减少代码包大小,避免因未使用到的 vant 组件触发隐私协议提交审核时被拒
小程序中使用npm安装vant组件实现按需引入减少代码包大小,避免触发用户隐私协议
|
监控 Oracle 关系型数据库
PolarDB 在多云环境下的部署与管理
【8月更文第27天】随着云计算的普及和发展,越来越多的企业开始采用多云策略来分散风险、优化成本并提高业务灵活性。阿里云的 PolarDB 是一种兼容 MySQL、PostgreSQL 和 Oracle 的关系型数据库服务,它提供了高性能、高可用性和自动化的管理功能。本文将探讨如何在多云环境下部署和管理 PolarDB 实例,并提供一些实用的代码示例。
304 0
|
11月前
|
前端开发 JavaScript 安全
在vue前端开发中基于refreshToken和axios拦截器实现token的无感刷新
在vue前端开发中基于refreshToken和axios拦截器实现token的无感刷新
1053 4
|
存储 Docker 容器
containerd容器运行时快速入门使用指南
关于containerd容器运行时的快速入门使用指南,涵盖了镜像管理、容器管理、NameSpace管理、数据持久化、镜像推送至Harbor仓库以及Docker与Containerd集成等内容。
1137 1
containerd容器运行时快速入门使用指南
|
前端开发 JavaScript 算法
程序技术好文:高德地图经纬度坐标拾取工具
程序技术好文:高德地图经纬度坐标拾取工具
642 0
|
前端开发 搜索推荐 UED
【Flutter前端技术开发专栏】Flutter中的高级UI组件应用
【4月更文挑战第30天】探索Flutter的高级UI组件,如`TabBar`、`Drawer`、`BottomSheet`,提升应用体验和美观度。使用高级组件能节省开发时间,提供内置交互逻辑和优秀视觉效果。示例代码展示了如何实现底部导航栏、侧边导航和底部弹出菜单。同时,自定义组件允许个性化设计和功能扩展,但也带来性能优化和维护挑战。参考Flutter官方文档和教程,深入学习并有效利用这些组件。
456 0
【Flutter前端技术开发专栏】Flutter中的高级UI组件应用
|
存储 Kubernetes API
在K8S中,calico有哪些组件?都是做什么的?
在K8S中,calico有哪些组件?都是做什么的?
|
Java C++ Docker
Docker再学习 - 阿里加速配置篇
Docker再学习 - 阿里加速配置篇
923 0