Java教程

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

本文主要是介绍JavaScript高级语法学习(第一天),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

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,指向空对象,函数执行完成后,将创建的空对象返回给前方变量;

这篇关于JavaScript高级语法学习(第一天)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!