js静态私有变量(将方法变成原型模式,被所有实例共享,而方法操作变量,故变量是静态)

一、总结

1、js函数中的private和publicjs函数中的私有变量 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>


 


我的旨在学过的东西不再忘记(主要使用艾宾浩斯遗忘曲线算法及其它智能学习复习算法)的偏公益性质的完全免费的编程视频学习网站: ​​fanrenyi.com​​;有各种前端、后端、算法、大数据、人工智能等课程。

​版权申明:欢迎转载,但请注明出处​

一些博文中有一些参考内容因时间久远找不到来源了没有注明,如果侵权请联系我删除。