JavaScript高级语法学习(第一天)

15 篇文章 0 订阅
10 篇文章 2 订阅

JavaScript语法高级第一天学习笔记

本文章为本人在学习中自己总结的学习笔记,望大家喜欢采纳!

创建普通对象与工厂模式创建对象以及构造函数知识!!

1.使用js创建普通对象:

//创建一个学生对象: 名称  年龄 方法 吃饭;
//通过js创建普通对象方式:
var s1 = {
    name:“张三”,
    age:18,
    eat:function(){
       console.log("正在吃:")
    }
}


var s2 = {
    name:“李四”,
    age:21,
    eat:function(){
       console.log("正在吃:")
    }
}

var s3 = {
    name:“王五”,
    age:16,
    eat:function(){
       console.log(this.name +"正在吃:")
    }
}

普通对象创建方式:

  • 优点:简单,方便;
  • 缺点:无法量产;

由于工作开发项目中多个创建对象,我们使用普通创建对象是比较不方便,我们可以使用“工厂模式”创建;

2.使用工厂模式创建对象:

//使用函数(工厂模式)创建对象
function createStudent(name,age,){
      var s = new Object();
      s.name = name;
      s.age = age;
      eat:function(){
        console.log(this.name+"正在吃");
      }
       return s;
}

工厂模式创建对象方式:

  • 优点:可以量产对象;
  • 缺点:通过工厂模式创建出来的对象,无法明确对应类型;

3.构造函数创建:
借鉴了其他语言创建对象方法,创建类

类:同一类型事物的总称,包含的属性和方法 都写到构造函数里面

由于js没有类这个概念,我们利用构造函数模式来模拟类,利用js this指向的问题

//创建一个学生类
function Student(name,age){
    this.name = name;
    this.age = age;
    this.eat = function(){
          console.log(this.name+"正在吃!")
    }
}

 var s1=new Student("王一",21)
 var s2=new Student("张三",21)
 var s3=new Student("李四",23)
  //s1 prototype 原型 一样的
  //s2 prototype 原型 一样的
  //s3 prototype 原型 一样的
  console.log(s1.prototype==s2.prototype)
  console.log(s2.prototype==s3.prototype)
  console.log(s3)

这里的 new 做的是创建一个空对象{},执行后面的构造函数,将函数内容this,指向空对象,函数执行完成后,将创建的空对象返回给前方变量;

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值