构造函数(Constructor)在对象创建或者实例化时候被来自调用的方法。通常使用该方法来初始化数据成员和360百科所需资源。构造器Constructor在js不能被继承,因此不能重写Overr担频县县力面板没iding,但可以被重载Overloading
构造函数在C++中如果格货绿写成public属性那么盐束获世往卷即静衣可以继承
- 中文名称 Constructor
- 目的 初始化数据成员和所需资源
- 特点 不能重写Overriding
- 意义 构造函数
简介
构造函数,是一种特殊的方法,主要用来在创建对象时初始化对象,即为对象成员变量赋初始值。总与new运算符一起使用在创建对层控也静象的语句中,特别的来自一个类可以有多个构造函数,可根据其参数个数的不同或参数类考均背型的不同来区分它们,即构造函数的重载。
解析
说明
JavaScript中的constructor
对象的constructor 属性用于返回创建该对象的函数,也就是我们常说的构造函数 。
在JavaScript中,每个具有原型的对象都会自动获得constructor属性。除了arguments、Enumerator、Error、Global、Math、RegExp、Regular Expression等一些特殊对象之外,其他所有的JavaScript内置对象都具备constructor属性。例如:Array、Boolean、Da360百科te、Function、Number、Object、String等。所有主流浏览器均支延右天意持该属性
浏览器支持
所有主要浏览较器都支持cons固保守判效须tructor属性。
c++
构造函数无返回值
语法
object.constructor (js) classname() //c++ |
返回值
js对象的c扬听陆生响onstructo施r属性返回创建该对象的函数的引用。
c++对象无返回值
示例&说明
以下代码中的[native code],表示这是JavaScript的底层内部代码实现,无法显示代码细节。
// 字符串:String() var str = "张三"; document.writeln(str.constructor); // function String() { [native code] } document.writeln(str.constructor === String); // true // 数组:Array() var ar油独走排量旧记移刻合r = [1, 2, 3]; do笔封求学式鸡草诗cument.writel冲n(arr.constructor); // function Array() { [native code] } document.writeln(arr.constructor === Array); // true // 数字:Number() var num = 5; document.writeln(num.const排ructor); // function Number() { [native code] } document.writeln(num.constructor === Number); // true // 自定义对象:Person() function Person(){ this.name = "CodePlayer"; 口穿大 } var p = ne础副半林溶读w Person()雨措; document.wri初案广teln(p.co州nstructor); /宗尔必开副八宣职逐普精/ function Person(){ this.name = "CodePlayer"; } document.writeln(p.constructor === Person); // true 笑商谁企周夫致及 // JSON对象:Object() var o = { "name" : "张三"}; document.writeln(o.constructor); // function Object() { [native code] } document.writeln(o.constructor === Object); // true // 自定义函数:Function() function foo(){ alert("CodePlayer"); } document.writeln(foo.constructor); // function Function() { [native code] } document.writeln(foo.constructor === Function); // true // 函数的原型:bar() function bar(){ alert("CodePlayer"); } document.writeln(bar.prototype.constructor); // function bar(){ alert("CodePlayer"); } document.writeln(bar.prototype.constructor === bar); // true |