js 函数内部私有变量的 访问方式
2016-12-20 15:01
375 查看
// 全局静态私有变量访问
(function(){ var name = "李四"; // 私有变量 function show(){ return "is a good man"; } Person = function( n ) { // 全局静态私有变量 构造函数,可传参初始化,也可以什么都不写 name = n; // this.name = n; } Person.prototype.setname = function( n ) { name = n ; // 这么直接赋值操作时,无论new几个出来操作的都是同一内存下的私有变量 // 但是如果加上this指针,new出来的对象操作的就是个子内存下的私有变量了 // this.name = n; } Person.prototype.getname = function() { return name; // return this.name; } })(); var obj1 = new Person('hehe'); console.log( obj1.getname() ); var obj2 = new Person('xixi'); console.log( obj2.getname() ); console.log( obj1.getname() );
// 字面量
var o = {name : "xixi",age : 33,show : function(){return "hehe";}}for( var key in o ) {console.log( o[key] );}console.log( o.name );console.log(o.show() );o.name = "heihei";console.log( o.name );// 1 块级作用域 + 字面量 的方式 访问私有变量 私有函数var obj = function(){var name = "熊大";function show(){return "is a good bear";}return { // 字面量对象get:function() {return name + ":" + show();}}}();console.log( obj.get())// 2 块级作用域+构造函数 的方式 访问私有变量 私有函数
function FunGz(){};var temp = function(){var name = "李四";function show(){return "is a good man";}var t = new FunGz();t.usepri = function(){return name + ":" + show();}return t;}();console.log( temp.usepri() );
相关文章推荐
- js使用闭包时,内部函数是直接访问外部函数的实际变量而非复制一份新变量
- 同一个类的不同对象,对象的成员函数可以互相访问各自对象的私有变量和私有成员函数
- 如何访问私有成员变量和函数
- Python在嵌套函数内部访问并父级函数的变量
- Python3基础 nonlocal关键字 内部函数访问到外部函数的变量
- C/C++—— 除了用类成员函数访问类私有成员变量外,还可以通过类对象地址来直接访问和修改类的私有成员变量
- javascript 直接创建对象与间接创建对象 私有函数不能访问this变量 是否使用var声明变量几个问题探讨
- js 私有类和公有类的表现形式和访问方式
- 定义一个包含私有成员变量和函数的类,再定义一个内部类,在内部类函数中访问外部成员变量,并调用外部函数。在外部类函数中创建内部类对象,调用内部类函数
- JS 函数访问方式总结
- JS全局变量VAR和THIS--在函数内部,加var是局部变量,不加是全局变量
- JS之 函数模仿块级作用域,私有变量,模块模式
- C++在类的成员函数中,允许直接访问该类的成员对象的私有成员变量
- 不通过类的成员函数直接访问类的私有变量
- 对类的私有变量起保护作用的访问函数
- c++中友元函数访问私有变量及函数
- js闭包实现块级作用域和私有变量的访问
- 【ZZ已解决】Python中如何在嵌套函数内部访问被嵌套(的父级函数)中的(局部,非全局)变量
- Java反射——对类内部函数、私有变量和构造函数的使用举例
- 参数的传递方式、变量的作用域、变量的生存期、内部函数和外部函数、编译预处理命令、条件编译