代码描述:JavaScript 私有属性 静态属性。JavaScript私有属性静态属性
JavaScript中并没有私有属性和静态属性这两个概念,不过可以模拟实现。 下面就简单介绍一下如何模拟实现这两个属性。 一.私有属性: 关于私有属性的概念这里就不介绍了。关于实现私有属性的方法其实非常的简单,就是在构造函数中声明一个私有变量(局部变量),然后再在构造函数中定义一个公共方法来方位这个私有变量,就类似于C#中的get和set访问器。 下面是一段实例私有属性代码:
<script> function web(webName) { var webName=webName; web.prototype.getWebName=function(){ return webName; } } firstWeb=new web("51前端"); console.log(firstWeb.getWebName()); secondWeb=new web("新锐网络"); console.log(firstWeb.getWebName()); </script>
以上代码中,创建了两个对象实例,弹出的值也各有不同。 所谓的实例属性,就是在创建的各个对象实例中,属性之间是互不相关的。 代码分析: webName是构造函数的私有变量,当然在外部不能够直接访问,于是通过使用prototype为构造函数添加了一个函数,此函数可以返回私有变量webName,其实这就是利用了闭包的原理实现的此效果 二.静态属性: 静态属性可以实现数据全局共享。实现它的方式也是非常简单的,首先在构造函数的外部声明一个私有变量,然后通过prototype为此构造函数添加两个函数可以设置和方位构造函数外部声明的私有变量,代码如下:
<script> (function(){ var staticValue="新锐网络"; web=function(webName){ this.webName=webName; }; web.prototype.getStatic=function(){ return staticValue; } web.prototype.setStatic=function(value){ staticValue=value; } })() var firstWeb=new web(); firstWeb.setStatic("51前端"); console.log(firstWeb.getStatic()); var secondWeb=new web(); console.log(secondWeb.getStatic()); </script>
请绑定手机号,在继续操作
注意:只有绑定手机以后,才可使用网站全部功能