js静态私有变量(将方法变成原型模式,被所有实例共享,而方法操作变量,故变量是静态)
js静态私有变量(将方法变成原型模式,被所有实例共享,而方法操作变量,故变量是静态)
一、总结
1、js函数中的private和public:js函数中的私有变量 var 变量名,公有变量 this.变量名
2、js静态私有变量:将方法变成原型模式,被所有实例共享,而方法操作变量,故变量是静态
3、js静态私有变量的作用:js中的static:解决变量静态的问题,就是java中static的作用
4、js中的get和set方法:也就是js中一般对象的定义方法
1 function People(_name){ 2 var name=_name; //私有,外部无法访问 3 this.getName=function(){ //公有,外部可以访问 4 return name 5 } 6 7 this.setName=function(value){ //set函数 8 name=value 9 } 10 11 } 12 13 var p1=new People('张三'); 14 alert(p1.getName()) 15 16 p1.setName('李四') 17 alert(p1.getName())
二、js静态私有变量
静态私有变量
通过块级作用域(私有作用域)中定义私有变量或函数,创建对外公共的特权方法;
- 首先创建私有作用域
- 定义私有变量或函数
- 定义构造函数和特权方法
- 这种方式创建的私有变量因为使用原型而实现共享。
- 同时由于共享,实例也就没有自己的私有变量。
三、代码
1 <!DOCTYPE html> 2 <html lang="zh-cn"> 3 <head> 4 <meta charset="utf-8"> 5 <title>课堂演示</title> 6 </head> 7 <body> 8 <script> 9 /* 10 //通过构造方法传参来访问私有变量 11 function People(_name){ 12 var name=_name; 13 this.getName=function(){ 14 return name 15 } 16 17 this.setName=function(value){ 18 name=value 19 } 20 21 } 22 23 var p1=new People('张三'); 24 alert(p1.getName()) 25 26 p1.setName('李四') 27 alert(p1.getName()) 28 */ 29 30 (function(){ 31 var name='张三'; 32 User=function(){} //构造函数 33 User.prototype.getName=function(){ 34 return name 35 } 36 User.prototype.setName=function(value){ 37 name=value 38 }; 39 })() 40 41 var VIP1=new User() //因为Uer()是私有函数,所以外部无法访问。 42 //alert(VIP1.getName()) 43 VIP1.setName('李四') 44 //alert(VIP1.getName()) 45 46 var VIP2=new User() 47 alert(VIP2.getName()) //结果是李四 48 </script> 49 </body> 50 </html>
版权申明:欢迎转载,但请注明出处
一些博文中有一些参考内容因时间久远找不到来源了没有注明,如果侵权请联系我删除。
在校每年国奖、每年专业第一,加拿大留学,先后工作于华东师范大学和香港教育大学。
2024-10-30:27岁,宅加太忙,特此在网上找女朋友,坐标上海,非诚勿扰,vx:fan404006308
AI交流资料群:753014672