对象的创建
来自一名前端小白的学习总结,如有哪里写错了请指教~
一.通过字面量
其中,name,age,girls,eat,speak都是对象person的属性,但是在对象中,如果属性后面跟的是一个函数,那么会把那个后面跟函数的属性称为这个对象的方法。
可用点语法输出对象的值,如:console.log(person.age);输出结果为:20;
也可用[]语法输出对象的值,不过不同的是点语法后面跟的是常量,而[]里面写的是变量
如:var pro = prompt("请输入属性名:"); console.log(person[pro]);
二.工厂方法
调用:var p1 = createPerson("李四", 20, "男"); var p2 = createPerson("张三", 21, "男");
使用工厂模式创建对象可以解决多个对象的创建问题。
三.构造函数
其实使用 new 构造函数() 的方式创建对象,经历了下面几个步骤。
1.创建出来一个新的对象
2.将构造函数的作用域赋给新对象。意味着这个时候this就代表了这个新对象。
3.执行构造函数中的代码。
4.构造函数执行完毕之后,默认返回新对象。 所以外面就可以拿到这个刚刚创建的新对象了。
调用函数时通过new来判断调用的是普通函数还是构造函数,一般构造函数的函数名通过“大驼峰”命名法命名,即每个单词的首字母大写,如:Person;普通函数的函数名通过“小驼峰”命名法命名,即第一个单词全小写,第一个单词之后的每个单词首字母大写,如:person;
普通函数和构造函数的区别
构造函数:new 函数()
默认返回创建的那个对象
普通函数:函数()
默认返回undefined