今日面试题~new构造函数,原型原型链, 正则表达式的作用, 构造函数中的this含义

43 阅读1分钟

1.new构造函数的时候发生了什么

- 创建了一个空对象
- 将构造函数中的this指向这个空对象
- 执行构造函数中的代码
- 返回这个对象

2. 描述一下你对原型和原型链的理解

每个对象自带一个属性__proto__,属性的值是一个对象, 这个对象叫做原型;每个函数自带一个属性prototype, 属性的值是一个对象, 这个对象也叫原型.

- 对象默认可以使用原型中的属性和方法 通常使用函数.prototype添加方法, 给这个函数的实例对象使用.

对象都有原型,原型是一个对象, 所以原型也有原型,...这样形成的一条链式结构叫原型链

  • 对象访问属性和方法的时候, 现在对象内查找, 对象内有, 就访问到了, 对象没有, 就到对象的原型中查找, 原型中有, 就访问到了, 原型没有, 就到原型的原型中查找, ...直到顶级原型,顶级原型没有, 就返回undefined

3, 正则表达式的作用

    1. 验证字符串中是否有符合规则的部分
        - 正则.test(字符串) - 返回布尔值
    2. 将字符串中符合规则的部分提取出来
        - 正则.exec(字符串)
        - 字符串.match(正则)
    3. 将字符串中符合规则的部分替换成新内容
        - 字符串.replace(正则, 新内容)
        

4. 构造函数中this的含义

this 是函数内部的一个对象, 当该函数被某个对象调用时, this的值就是某个对象