一起学习网 一起学习网


详解js私有作用域中创建特权方法

网络编程 详解js私有作用域中创建特权方法 06-22

本文实例分享了js私有作用域中创建特权方法,供大家参考,具体内容如下

特权方法就是有权访问私有变量和私有函数的公有方法:

function MyObject(){
  var privateVariable = 10;
  function privateFunction(){
    return false;
  }
  this.publicMethod = function(){
    privateVariable ++;
    return privateFunction();
  };
}  
var x = new MyObject();
console.log(x.publicMethod()) ;//false

私有作用域中定义私有变量和函数,同样也可以创建特权方法,如:

(function(){
  var privateValue = 10;
  function privateFunction(){
    return false;
  }
  
  MyObject = function(){}; //没有var 属于全局变量,严格模式下会报错
  
  MyObject.prototype.publicMethod = function(){
    privateValue ++;
    return privateFunction();
  };
})();

var instance = new MyObject();
console.log(instance.publicMethod());

这里就可以看出实际上就是在私有作用域中定义了一个全局的构建函数;其中的一个方法就是返回私有作用域中的一个私有变量和属性。写成下面这样就可以更好地了解:

Obj = function(){};

(function(){
  var x = 10;
  function y(){
    return x + 10;
  }

  Obj.prototype.say = function(){
    console.log(y());
  };
})()

var ins = new Obj();
ins.say();

以上就是本文的全部内容,希望对大家的学习有所帮助。

JavaScript文本框脚本编写的注意事项
在HTML中,有两种方式来表现文本框:一种是使用input元素的单行文本,另一种是使用textarea的多行文本框。使用input方式,必须添加type,设置为text。size

JavaScript数组的一些奇葩行为
在程序语言中数组的重要性不言而喻,JavaScript中数组也是最常使用的对象之一,数组是值的有序集合,由于弱类型的原因,JavaScript中数组十分灵活、强

理解JavaScript表单的基础知识
HTMLFormElement继承了HTMLElement,它自己独有的属性和方法有:acceptCharset:服务器能够处理的字符集,等价于HTML的accept-charset特性action:接收请求的URL,等价


编辑:一起学习网

标签:数组,方法,作用,特权,变量