web前端工程师面试题总结(2)原型,原型链和算法


一、原型

 ①所有引用类型都有一个__proto__(隐式原型)属性,属性值是一个普通的对象 
 ②所有函数都有一个prototype(原型)属性,属性值是一个普通的对象 
 ③所有引用类型的__proto__属性指向它构造函数的prototype</font>

二、原型链

当访问一个对象的某个属性时,会先在这个对象本身属性上查找,如果没有找到,
则会去它的__proto__隐式原型上查找,即它的构造函数的prototype,
如果还没有找到就会再在构造函数的prototype的__proto__中查找,
这样一层一层向上查找就会形成一个链式结构,我们称为原型链。

①一直往上层查找,直到到null还没有找到,则返回undefined
②Object.prototype.proto === null
③所有从原型或更高级原型中的得到、执行的方法,其中的this在执行时,
指向当前这个触发事件执行的对象

在这里插入图片描述

    实例化对象的__proto__和构造函数的prototype属性都指向与原型对象
    原型对象的constructor属性指向构造函数

三、ES6之前,没有class概念,解决对象之间的属性和方法的共享问题

1.字面量方式

通过换变量名字来解决属性冲突问题

	(构造函数.prototype 指向与父对象,而且子对象会继承父对象内的属性和方法 原型对象)

2.构造函数定义

通过创建一个共同的函数,分别调用来解决方法的冲突问题

3.系统默认的对象构造函数


四、ES6之后,class实现不同对象的属性和方法的共享问题

定义一个class父类方法 子类通过class 子类名 extends 父类名 { super() } 来调用他

在这里插入图片描述

四、算法

1.冒泡排序

相邻的两个元素进行比较,小的在前,大的在后

2.快速排序

将数组中的一个数作为基数,比基数小的放左边,大的放右边
在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值