function createPerson(name, age, gender){ return { name: name, age: age, gender: gender };}缺点:不易于维护区分,不易于继承的实现-> 构造器(constructor)常常将其称为构造函数、构造方法// Pascal 命名规则(从第一个单词起首字母大写)function Person(name, age, gender){ this.name = name; this.age = age; ......}-> 在 js 中 对象 具有动态性 可以利用 对象.属性 或 对象['属性名'] 随意的给对象增加成员 同时可以利用 delete 运算符删除成员2、构造函数的执行过程-> 构造函数的执行过程(本质):利用对象的动态性给对象增加成员-> 将下列代码的执行过程描述出来function Person(name){ this.name = name; this.sayHello = function(){};}var p = new Person('jim');1> 首先执行 new 运算符,创建对象,该对象中什么也没有,是一个空对象(注意:空与空对象是两个概念)2> 调用构造方法,将刚刚创建的对象引用传递给构造函数的this3> 依次执行构造函数中的代码,如果出现 this.xxx = xxx 就是表示给刚刚创建的对象添加成员4> 构造函数执行结束,默认返回 this(可以不写 return),将对象的引用赋值给 new 左边的等号左边的变量5> 此时构造函数执行结束,构造函数内部的变量销毁
新闻热点
疑难解答