js高级(一)

对象

一、什么是对象:万物皆为对象
1、对象是单个事物的抽象
2、对象是一个容器,封装了属性和方法
3、对象是无序的

二、面向对象
1、对过程式代码的高度封装,目的提高代码的开发效率和可维护性
2、面向对象不是面向过程的替代,而是面向过程的封装

三:面向对象的特征 (重点)
封装性
继承性
多态性

创建对象(四种方式)

// 1、字面量
    let obj = {

    }
    // 2、new Object()
    let obj_1 = new Object()
    obj_1.name = 'zs'
    console.log(obj_1);
    // 3、工厂函数
    function car(name) {
        let car = new Object()
        car.name = name
        return car
    }
    let car_1 = car('小米')
    console.log(car_1);
    // 4、构造函数
    function Car_2(name, color) {
        this.name = name
        this.color = color
    }
    let car_3 = new Car_2('小米', '浅紫')
    console.log(car_3);

构造函数和实例对象的关系

function Car(name, color) {
        this.name = name
        this.color = color
    }
    var car_1 = new Car('小米', '浅紫')
    console.log(car_1);
    /*
    constructor: 构造器;建造者;构造函数  
    */
    /* 
       任何对象都有constructor属性,实例化对象的constructor属性指向构造函数 ***
    */
    console.log(car_1.constructor);

// Bom对象   Dom对象   自定义对象  内置对象  数组   函数
    console.log(history.constructor);  // ƒ History() { [native code] }
    console.log(document.getElementsByTagName('div')[0].constructor); //f HTMLDivElement() { [native code] }
    var obj = {
        age: 18
    }
    console.log(obj.constructor);  //  Object() { [native code] }
    console.log(new Date().constructor); // ƒ Date() { [native code] }
    var arr = [1, 2]
    console.log(arr.constructor); // ƒ Array() { [native code] }
    // 判断数据类型
    var num = 10
    console.log(num.constructor);
    console.log(num.constructor == Number);
    var str = '123'
    console.log(str.constructor == String);

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值