您的位置:首页 > Web前端 > JavaScript

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() );

                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐