关闭

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

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

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

2.广告联盟: 整理了目前主流的广告联盟平台,如果你有流量,可以作为参考选择适合你的平台点击进入

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

关闭

vue事件获取当前对象

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

JS中禁止对象属性扩展、密封对象、冻结对象

对象常量属性概念:将属性的writable和configurable设置为false;如果一个对象可以添加新的属性,则这个对象是可扩展的,让这个对象变的不可扩展,也就是不能再有新的属性;由于属性描述符是对属性的管理,所以想禁止对象扩展

JavaScript 判断对象中是否有某属性

判断对象中是否有某属性的常见方式总结,不同的场景要使用不同的方式。一点( . )或者方括号( [ ] )、二in 运算符、三hasOwnProperty()。三种方式各有优缺点,不同的场景使用不同的方式,有时还需要结合使用

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

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

JavaScript的内置对象

内置对象:对象是由属性和方法组成的,使用点语法访问,数组用于存储若干数据,自动为每位数据分配下标,从0开始

深入理解js对象中数据属性和访问器属性

创建对象的方式有两种:第一种,通过new操作符后面跟Object构造函数,第二种,对象字面量方式。两种方式创建出来的对象是一样的,有相同的属性和方法。这些属性内部都有描述其行为的属性描述符。

js包装对象

对象是 JavaScript 语言最主要的数据类型,三种原始类型的值——数值、字符串、布尔值——在一定条件下,也会自动转为对象,也就是原始类型的包装对象。所谓包装对象,就是分别与数值、字符串、布尔值相对应的Number、String、Boolean三个原生对象。

JS所有内置对象属性和方法汇总

对象,是任何一个开发者都无法绕开和逃避的话题,她似乎有些深不可测,但如此伟大和巧妙的存在,一定值得你去摸索、发现、征服。我们都知道,JavaScript有3大对象,分别是本地对象、内置对象和宿主对象

js判断一个对象是否为空对象

最近遇到一个问题,用vue循环一个数组,展示一些海报图片。数组为空的话是不会遍历的,为了不让能够出现默认图片,这也就需要在数组中增加一个默认空对象arr[{}]。问题来了,提交的时候怎么判断这个对象是空的呢?

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

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

点击更多...

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