首页 > 编程语言 >JavaScript高级复习——js面向对象

JavaScript高级复习——js面向对象

时间:2022-09-19 18:56:09浏览次数:80  
标签:对象 JavaScript js 面向对象 实例 constructor new class

面向对象

优点:易维护、易复用、易扩展。适合多人合作。

缺点:性能比面向过程低。

面向过程

优点:性能比面向对象高,适合跟硬件联系很紧密的东西,例如单片机。

缺点:没有面向对象易维护、易复用、易扩展。

面向对象的思维特点

1、抽取(抽象)对象共用的属性和行为封装成一个类。

2、对类进行实例化,获取类的对象。

对象

万物皆对象,对象是一个具体的事物。

在JavaScript中,对象是一组无序的相关属性和方法的集合,所有的事物都是对象。例如:字符串、数值、数组、函数等。

对象由属性和方法组成:

属性:事物的特征,在对象中用属性来表示(常用名词)

方法:事物的行为,在对象中用方法来表示(常用动词)

类class

类抽象了对象的公共部分 ,泛指某一大类(class)

对象特指某一个,通过类实例化一个具体的对象。

创建类

语法:

 

class Name {
    //  class body
}

 

创建实例:

 

var xx = new name();

 

例子

// 1、创建类class,创建一个明星类
class Star {

}
// 2、利用类创建对象 new
new Star();

constructor构造函数

constructor()方法是类的构造函数(默认方法),用于传递参数,返回实例对象,通过new命令生成对象实例时,自动调用该方法。如果没有显示定义,类内部会自动给我们创建一个constructor()

 

// 1、创建类class,创建一个明星类
class Star {
  constructor( uname,uage ){
    this.name = uname;
    this.age = uage;
  }
  sing(){
    console.log("我会唱歌!")
    console.log(this.name )
  }
} // 2、利用类创建对象 new let ldh = new Star( '刘德华' );
let zxy = new Star( '张学友' );

console.log(ldh,zxy);
// 类里面所有的函数不需要写function
// 多个函数方法之间不需要添加逗号分隔
ldh.sing();
zxy.sing();

 

5个小tips:

1、通过class关键字创建类,类名我们还是习惯性定义首字母大写。

2、类里面有个constructor函数,可以接收传递过来的参数,同时返回实例对象。

3、constructor函数只要有new生成实例时,就会自动调用这个函数,如果我们不写这个函数,类也会自动生成这个函数。

4、生成实例new不能忽略

5、最后注意语法规范,创建类 类名后面不要加小括号,生成实例类名后面加小括号,构造函数不需要加function

 

标签:对象,JavaScript,js,面向对象,实例,constructor,new,class
From: https://www.cnblogs.com/spikekk/p/16708681.html

相关文章

  • 面向对象---继承
    什么是继承---Extends继承:在现实世界中也是真实存在的。例如:父亲很有钱,儿子不努力也很有钱。基本语法class子类extends父类继承的作用:基本作用:子类继承父类,代码......
  • javascript的类的继承
     先看下java的继承,java的继承是发生在类之间,他们的对象之间没有继承关系,子类的对象通过子类创建对象,同时对象中不存储函数只有数据,函数需找到类定义以后读取里面的函数,类......
  • JavaScript break 和 continue 语句
    break语句用于跳出循环。continue用于跳过循环中的一个迭代。break语句break语句可用于跳出循环。break语句跳出循环后,会继续执行该循环之后的代码continue语句......
  • JavaScript for 循环
    循环可以将代码块执行指定的次数。for循环:如果向多次运行相同代码,且每次的值都是不同,那就使用循环不同类型的循环JavaScript支持不同类型的循环:for -循环代码块一......
  • JavaScript if...Else 语句
    if语句      语法二:        if(条件表达式){          语句……        }else{     ......
  • JavaScript switch 语句
    语法switch(n){case1:执行代码块1break;case2:执行代码块2break;default:与case1和case2不同时执行的代码} n通常为变量,随后表达式的值会......
  • ueditor(JSP版)如何实现word文档的导入和下载功能
    ​ ueditor粘贴不能粘贴word中的图片是一个很头疼的问题,在我们的业务场景中客户要求必须使用ueditor并且支持word的图片粘贴,因为这个需求头疼了半个月,因为前端方面因为安......
  • javascript 对象的细节
    对象的集中声明方式//方式一:letstu={ name:'小明',age:'17',study:function(){console.log(this.name+'爱学习')}}//调用方式:stu.name;stu......
  • JSR303数字校验
    天空和我的中间,只剩下倾盆的思念简单校验使用示例:引入对应的校验依赖<dependency>  <groupId>org.springframework.boot</groupId>  <artifactId>spring......
  • VBA中使用JAVASCRIPT
    PrivateSubCommandButton1_Click()DimjsstrDimsbAsStringDimoSCAsObjectDimiAsIntegerSetoSC=CreateObjectx86("MSScriptControl.ScriptControl")'......