构造函数
构造函数:是JavaScript创建对象的另外一种方式。
与字面量方式创建对象对比:构造函数可以创建出一些具有相同特征的对象。
字面量的方式创建对象的特点:
(1) 优势:简单灵活。
(2) 劣势:当需要创建一组具有相同特征的对象时,无法通过代码指定这些对象应该具有哪些相同的成员。
JavaScript内置的构造函数
// 通过构造函数创建对象
var obj = new Object(); // 创建Object对象
var str = new String('123'); // 创建String对象
// 查看对象是由哪个构造函数创建的
console.log(obj.constructor); // 输出结果:function Object() { [native code] }
console.log(str.constructor); // 输出结果:function String() { [native code] }
console.log({
}.constructor); // 输出结果:function Object() { [native code] }
- “对象.constructor”属性指向了该对象的构造函数。
- 通过console.log()输出时,[native code]表示该函数的代码是内置的。
自定义构造函数
function Person(name, age) {
this.name = name;
this.age = age;
this.sayHello = function () {
console.log('Hello, my name is ' + this<