目录
1:创建对象
2:工厂模式创建对象
复习
正文
1:调用系统构造函数创建对象
<script> //创建对象三种方式: /* * * 1.调用系统的构造函数创建对象 * var 变量名= new Object(); Object 是系统的构造函数 Array * * 2.自定义构造函数创建对象(结合第一种和需求通过工厂模式创建对象) * * * 3.字面量的方式创建对象 * * 4:工厂模式创建对象 * */ //第一种创建对象的方式 //小苏举例子: //实例化对象 var obj = new Object(); //对象有特征---属性和行为---方法 //添加属性-----如何添加属性? 对象.名字=值; obj.name = "小苏"; obj.age = 38; obj.sex = "女"; //添加方法----如何添加方法? 对象.名字=函数; obj.eat = function () { console.log("我喜欢吃油炸榴莲凉拌臭豆腐和大蒜"); }; obj.play = function () { console.log("我喜欢玩飞机模型"); }; obj.cook = function () { console.log("切菜"); console.log("洗菜"); console.log("把菜放进去"); console.log("大火5分钟"); console.log("出锅"); console.log("凉水过一下"); console.log("放料,吃"); }; console.log(obj.name);//获取--输出了 console.log(obj.age); console.log(obj.sex); //方法的调用 obj.eat(); obj.play(); obj.cook(); //练习:有一个黄色的小狗,叫大黄,今年已经三岁了,250斤的重量每次走路都很慢,喜欢吃大骨头 //练习:创建一个手机对象,手机有型号,有颜色,可以打电话和发短信 </script>
2:工厂模式创建对象
<script> /* * * 如何获取该变量(对象)是不是属于什么类型的? * 语法: * 变量 instanceof 类型的名字----->布尔类型,true就是这种类型,false不是这种类型 * 在当前的对象的方法中,可以使用this关键字代表当前的对象 * * * */ //人的对象 // var person=new Object(); // person.name="小白"; // person.age=10; // person.sayHi=function () { // //在当前这个对象的方法中是可以访问当前这个对象的属性的值 // console.log("您好,吃了没您,我叫:"+this.name); // }; // //学生的对象 // var stu=new Object(); // stu.name="小芳"; // stu.age=18; // stu.study=function () { // console.log("学习,敲代码,今天作业四遍,我今年"+this.age+"岁了"); // }; // //小狗的对象 // var dog=new Object(); // dog.name="哮天犬"; // dog.say=function () { // console.log("汪汪...我是哮天犬"); // }; // // //输出人是不是人的类型 // console.log(person instanceof Object); // console.log(stu instanceof Object); // console.log(dog instanceof Object); //对象不能分辨出到底是属于什么类型? //如何一次性创建多个对象?把创建对象的代码封装在一个函数中 //工厂模式创建对象 function createObject(name,age) { var obj = new Object();//创建对象 //添加属性 obj.name = name; obj.age = age; //添加方法 obj.sayHi = function () { console.log("阿涅哈斯诶呦,我叫:" + this.name + "我今年:" + this.age); }; return obj; } //创建人的对象 var per1 = createObject("小芳",20); per1.sayHi(); //创建一个人的对象 var per2 = createObject("小红",30); per2.sayHi(); </script>