javascript Es5面向对象和 Es6面向对象

时间: 2018-12-16阅读: 1769标签: 对象

JavaScript es6之前的面向对象方法:一般使用构造函数来实现

function Person (name, age) {
    this.name = name;
    this.age = age;
}
// 实现静态属性, into属性就是静态属性 因为它是用Person直接 . 属性名的
Person.into = 'abc'
// 然后new 一个实例出来
var p1 = new Person('李明', 22);
console.log(p1)
console.log(Person.into)

可以看到浏览器的控制台已经出来结果了;只是一些简单的实例;


下面是通过ES6的class 类来创建

class Anything{
    // ES6通过constructor()方法 ,构造器来实现
    constructor(name, age){
        // 实例属性
        this.name = name;
        this.age = age;
    }
    // 静态属性通过 static 来创建静态属性;
    static into = 'compare'
}
const a1 = new Anything('car', 5);
console.log(a1);
console.log(Anything.into);
 
export default Anything;

看看打印的结果,结果和上面用构造函数创建的是一样的;当然里面也可以写方法 function;


可用原型对象来创建:

Person.prototype.sayName = function(){
    console.log('这是 Person函数的实例方法');
}

可以通过 p1.sayName(); 直接调用;那么用class 创建的Anything 类 创建实例方法直接在Anything 对象里面 和 构造器constructor 平级 直接写: 例如

someone(){
     console.log('这是Anything的实例方法 ');
}

可以直接通过 a1.someon(); 调用;


 总结

1、用构造函数本身 直接 点 ▪ 上的 属性或者 function() 函数 叫静态属性或方法; 一般不会这样做;

2、用构造函数加原型对象 点 ▪ 上的 function() 方法 是实例方法; 可以被调用

3、ES6 class 类 本身只是语法糖 ,只是和之前写法不一样

站长推荐

1.云服务推荐: 国内主流云服务商,各类云产品的最新活动,优惠券领取。地址:阿里云腾讯云华为云

链接: http://www.fly63.com/article/detial/1609

vue事件获取当前对象

currentTarget:返回其监听器触发事件的节点,就是你的点击事件绑定在哪一个元素上 ,arget:返回事件的目标节点(触发该事件的节点),就是你当前点击的是哪一个元素

Js中如何克隆对象?

我们假设一个变量 name 具有一个与之关联的原始值(number,string,boolean,undefined 和null)。 如果我们将此变量 name 复制到另一个变量name2 ,则原始变量的任何修改都不会影响到第二个变量,因为它们是原始值

javascript中document是什么?

javascript中document是window对象的属性,表示对Document对象的只读引用。Document对象是Window对象的一部分,可通过window.document属性对其进行访问。

什么是javascript对象?

在 JavaScript 中,对象是拥有属性和方法的数据集合;JavaScript对象是被称为属性和方法的命名值的容器。包含在对象里的数据可以通过两种形式访问-属性和方法。JavaScript中的所有事物都是对象:

原来JS是这样的_对象属性

同样的字符串赋值到对象,一会儿是字符串类型一会儿是对象,而明明不是对象类型的变量还是可以使用对象属性,为什么会这样呢?JavaScript 中一共有六种主要(语言)类型

js对象的封装、继承和多态

面向对象三大特性就是封装继承和多态,简单理解,对于猫这种动物,它本身就是一个封装好的类,你只需要供它吃喝(输入),它就能表现猫的行为(输出),同时它继承了动物所具有的习性(吃东西等~)

Reflect对象

将Object 对象上的属于语言内部的方法放到 Reflect 对象上,从 Reflect 上获得语言内部的方法 ;修改某些 Object 方法的返回结果,让其变得更合理。让Object的操作都变成函数行为。Reflect 对象的方法与 Proxy 对象的方法一一对应。

JavaScript 防篡改对象

开发过程中,每个开发者定义的对象可能不想要被别的开发者所重写或者新增对象属性,这时候可以将对象变为防篡改对象,当然防篡改对象也有分级别的

File FileList 和 FileReader 对象详解

File 对象、FileList 对象与 FileReader 对象大家或许不太陌生,常见于文件上传下载操作处理(如处理图片上传预览,读取文件内容,监控文件上传进度等问题)

Js中Blob是什么?

MDN给出的解释:Blob 对象表示一个不可变、原始数据的类文件对象;创建一个blob只有两种方式1、通过new Blob();使用blob.slice切割,创建一个新的blob对象;读取blob唯一方式,使用fileReader

点击更多...

内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!