标签:函数 gender age 09 new 构造函数 name
09-构造函数
构造函数又叫做创建类
语法:
function 函数名(){
JS语句;
}
调用的方法:
var obj = new 函数名();
注意:
1.调用的时候在函数名前面加上new,如果不加new就是调用一般的函数
2.构造函数实际上就是创建一个函数,只不过我们通常会将这个函数的函数名的首字母大写
3.要想让一个函数达到构造函数的效果在调用的时候必须加上new
代码实现
1 <script type="text/javascript"> 2 function Person(name, age, gender){ 3 this.name = name; 4 this.age = age; 5 this.gender = gender; 6 } 7 function Dog(name, age, gender){ 8 this.name = name; 9 this.age = age; 10 this.gender = gender; 11 this.SayName = function(){ 12 alert(this.name); 13 } 14 } 15 var obj = new Person("孙悟空", 120, "男"); 16 var obj2 = new Person("猪八戒", 10, "男"); 17 var obj3 = new Person("沙和尚", 20, "男"); 18 var obj4 = new Dog("旺财", 2, "男"); 19 20 console.log(obj); 21 console.log(obj2); 22 console.log(obj3); 23 console.log(obj4); 24 // obj4.SayName(); 25 </script>
执行效果如下图所示:
构造函数的执行流程
1.立即创建一个对象
2.将新建的对象设置为函数中的this,在构造函数中可以使用this来引用新建的对象
3.逐行执行函数中的代码
4.将新建的对象作为返回值返回
关于this
1.当以函数形式调用的时候,this指的是window
2.当以方法形式调用的时候,谁调用指的就是谁
3.当以构造函数的形式调用的时候,this指的就是新创建的那个对象
标签:函数,gender,age,09,new,构造函数,name 来源: https://www.cnblogs.com/xhlqss/p/15731562.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。