1.构造函数专用于创建对象,所以必须需要有新对象的引用;
①先创建一个基于该函数生成的对象:实例。②向这个函数赋值,给它创建一些属性和方法。③把这个创建的对象/实例返回。构造函数首字母大写。
构造函数的特点:
this: 代表通过该函数创建的新对象构造函数的执行过程, 就是不断的将属性和方法赋值给新对象this的过程正是因为构造函数的这些特点, 所以必须要使用关键字: new来调用此时, 这个构造函数的功能与其它编程语言中的类的含义和功能是相同的而通过构造函数创建的对象,可以称之为该构造函数的实例或类实例。
实例
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>构造函数</title> </head> <body> <script> var Createobj = function () { this.domain= "www.php.cn"; this.get=function(value) { var site= "php中文网:"; return site + value; } } var obj1 = new Createobj(); console.log(obj1.domain); console.log(obj1.get(obj1.domain)); var obj2 = new Createobj(); console.log(obj2.domain); console.log(obj2.get(obj2.domain)); Createobj.email = 'admin@php.cn'; Createobj.hello = function() { return 'Hello JS真好玩'; } console.log(Createobj.email); console.log(Createobj.hello()); </script> </body> </html>
运行实例 »
点击 "运行实例" 按钮查看在线实例
运行结果如图:
2.
任何函数都提供了一个属性: `prototype`, 原型属性
凡是添加到构造函数的原型属性对象上的成员,将被构造函数的所有实例所共享
实例
!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>原型对象</title> </head> <body> <script> var Createobj = function () { this.domain = "www.php.cn"; this.get = function (value) { var site = "php中文网:"; return site + value; } } Createobj.prototype.email = 'admin@php.cn'; Createobj.prototype.hello = function() { return 'Hello JS真好玩'; } var Obj= new Createobj(); console.log(Obj.email); console.log(Obj.hello()); </script> </body> </html>
运行实例 »
点击 "运行实例" 按钮查看在线实例
运行结果如图所示: