JS构造函数(便于理解,简易)

* 构造函数:
* 1.构造函数的函数名最好首字母大写(否则 WebStorm 编辑器会提示报错)
* 2.自己的对象多次被复制
* 3.构造函数里可以创建公有属性、公有方法、私有属性和私有方法
* 3.构造函数内部的方法可以访问构造函数内部的属性
* 4.当对象被实例化后,构造函数会立即执行它所包含的所有代码
* 5.私有方法和私有属性都不对外公开,即使创建构造函数的实例化对象,依旧不能访问,只能在构造函数内部进行访问

 1 /**
 2  * 构造函数:
 3  * 1.构造函数的函数名最好首字母大写(否则 WebStorm 编辑器会提示报错)
 4  * 2.自己的对象多次被复制
 5  * 3.构造函数里可以创建公有属性、公有方法、私有属性和私有方法
 6  * 3.构造函数内部的方法可以访问构造函数内部的属性
 7  * 4.当对象被实例化后,构造函数会立即执行它所包含的所有代码
 8  * 5.私有方法和私有属性都不对外公开,即使创建构造函数的实例化对象,依旧不能访问,只能在构造函数内部进行访问
 9  *
10  * */
11 
12 function MyObject(msg){
13     //创建公有属性
14     this.myMsg = msg;
15     this.address = '上海';
16 
17     console.log('构造函数内部');
18 
19     //创建公有方法
20     this.sayAge = function () {
21         console.log('这是一个公有方法');
22     };
23     
24     //私有属性
25     var name = 'liuqiuchen';
26     var age = 100;
27     var _this = this;
28     
29     //私有方法
30     /**私有方法和私有属性都不对外公开,即使创建构造函数的实例化对象,依旧不能访问,只能在构造函数内部进行访问*/
31     function myFunc(){
32         console.log('我是私有方法,名字是:' + name);
33     }
34     
35     this.run = function () {
36         myFunc();
37     };
38 
39     this.run2 = function () {
40         console.log("Msg:" + _this.myMsg);
41     };
42 }
43 
44 //实例化构造函数对象
45 var obj1 = new MyObject('信息');
46 
47 obj1.sayAge();
48 obj1.run();
49 obj1.run2();
原文地址:https://www.cnblogs.com/lqcdsns/p/5267448.html