javaScript之创建函数的方式(以及实例对象和构造函数的关系)

对象:特指的某个事物,具有属性和方法(一组无序的属性的集合)
特征---->属性
行为---->方法
小苏:------>姓名,性别,年龄,吃,睡觉,玩

创建对象几种方式:
1  字面量的方式 

//实例对象
   var per1={
     name:"卡卡西",
     age:20,
     sex:"男",
     eat:function () {
       console.log("吃臭豆腐");
     },
     play:function () {
       console.log("玩老鼠");
     }
   };

2  调用系统的构造函数

   //调用系统的构造函数
   var per2=new Object();
   per2.name="大蛇丸";
   per2.age=30;
   per2.sex="男";
   per2.eat=function () {
     console.log("吃榴莲");
   };
   per2.play=function () {
     console.log("这个小蛇真好玩");
   };

   function Person() {

   }
 

3 工厂模式创建对象

function createObject(name,age) {//创建对象
      var obj=new Object();
      obj.name=name;
      obj.age=age;
      obj.sayHi=function () {
        console.log("您好");
      };
      return obj;
    }
//实例化一个对象,的同时对属性进行初始化
var per2=createObject("小明",20);

4  自定义构造函数方式创建对象

 //自定义构造函数
    function Person(name,age,sex) {
      this.name=name;
      this.age=age;
      this.sex=sex;
      this.play=function () {
        console.log("天天打游戏");
      };
    }
//创建对象---->实例化一个对象,的同时对属性进行初始化
    var per=new Person("东方不败",18,"女");
    console.log(per instanceof Person);//判断类型

创建过程:

* 1.开辟空间存储对象
* 2.把this设置为当前的对象
* 3.设置属性和方法的值
* 4.把this对象返回

共同点:都是函数,都可以创建对象,都可以传入参数
工厂模式:自定义构造函数:
1 函数名是小写1 函数名是大写(首字母)
2 有new,2 没有new
3 有返回值3 没有返回值
4 new之后的对象是当前的对象4 this是当前的对象
5 直接调用函数就可以创建对象5 通过new的方式来创建对象







 

 

 

 

总结:以后一般用自定义构造函数的方式创建对象 

 实例对象和构造函数之间的关系:
 1. 实例对象是通过构造函数来创建的---创建的过程叫实例化
 2.如何判断对象是不是这个数据类型?
  1) 通过构造器的方式 实例对象.构造器==构造函数名字

//实例对象的构造器(构造函数)
    //实例对象的构造器是指向Person的,结果是true,所以,这个实例对象per就是通过Person来创建的
    console.log(per.constructor==Person);//

  2) 对象 instanceof 构造函数名字

console.log(per instanceof Person);//true表示是

!!!尽可能的使用第二种方式来识别(原因会在原型中提及)

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值