从模块外部访问内部成员

简介: 从模块外部访问内部成员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());
相关文章
|
5月前
|
存储 Serverless 数据安全/隐私保护
C++ 类的成员函数和数据成员的技术性探讨
C++ 类的成员函数和数据成员的技术性探讨
60 0
|
3月前
内部
定义的位置不一样【】局部变量:在方法的内部 局部变量和成员变量 1.定义的位置不一样【重点】 局部变量:在方法的内部 成员变量:在方法的外部,直接写在类当中 2.作用范围不一样【重点】 局部变量:只有方法当中才可以使用,出了方法就不能再用 成员变量:整个类全都可以通用。 3.默认值不一样【重点】
31 0
|
4月前
|
C++
友元是一种允许某些外部函数或类访问另一个类的成员的机制
友元是C++中的一个强大特性,它提供了一种机制来允许特定的外部函数或类访问私有和保护成员。正确使用友元可以增强程序的功能性和灵活性,但应谨慎使用以避免破坏封装性和增加代码的复杂度。在设计类和功能时,合理利用友元,可以使得C++程序更加有效和高效。
41 2
|
4月前
|
Java C++ Python
私有成员、公共成员、保护成员如何定义
私有成员、公共成员、保护成员如何定义
39 0
|
API 开发者
和你的外部团队成员或者组织协同使用同一个微应用
和你的外部团队成员或者组织协同使用同一个微应用
64 2
|
5月前
访问结构成员
【2月更文挑战第9天】访问结构成员。
26 3
|
5月前
|
C# 开发者 索引
C# 11.0中的静态抽象成员:接口中的新变革
【1月更文挑战第25天】C# 11.0引入了接口中的静态抽象成员,这一新特性为接口设计带来了更大的灵活性。静态抽象成员允许在接口中定义静态方法和属性,并要求实现类提供具体的实现。本文将详细探讨C# 11.0中静态抽象成员的工作原理、优势及其对现有编程模式的影响,旨在帮助读者更好地理解和应用这一新特性。
|
数据安全/隐私保护
未找到数据成员和方法-机房问题4
未找到数据成员和方法-机房问题4
68 0
【C++之多层继承】成员在各类的范围内的访问属性
【C++之多层继承】成员在各类的范围内的访问属性