js面试 - 简化版

70 阅读2分钟

闭包:

闭包指的就是数据,数据有原始数据的属性值准 浅拷贝 深拷贝

作用域链

全局作用域不能访问局部作用域,局部作用域要调用自身作用域如果有的话直接调用 如果没有的话向上调用,如果再没有就再向上调用,直到调用到window作用域,这就形成了链式作用域。

什么是原型?什么是原型链?

每一个对象都有prototype属性 挂载扩展属性的方法,挂载的属性和方法在这个对象的实例都可以调用。这就是原型。

想要调用自身的属性和方法,如果调用不到通过父级关联的属性和方法,如果调用不到再调用父级的属性和方法,直到调用到object属性否则就返回undefined,这就是原型链。

  1. 原型:每个函数都会自动附带一个属性prototype,这个属性的值是一个普通对象,称之为  原型对象。

任何对象都有原型对象,也就是prototype属性,所有的对象都是通过new来创建 任何 原型对象也是一个对象,该对象就有proto属性,这样一层一层向上找,就形成了一条原型链

bind,call,apply

call 和apply 调用函数可以理解为调用函数方式可以修改this指向 bind不能调用函数返回改变this后的新函数

什么是递归?

递归,简单来说就是自己调用自己

主要有两个关键步骤:

  • 写出递归公式
  • 找到终止条件

this指向

this指向在函数定义时是确定不了的,只有函数执行的时候才能确定this到底指向谁

1.全局作用域或者普通函数中this指向全局对象的window,

2.定时器中,this也指向全局对象的window,

3.方法调用中谁调用this,this就指向谁

4.构造函数中this指向构造函数的实例

call调用函数可以改变this指向,箭头函数也可以改变this指向

1.同源策略是对 JavaScript 代码能够操作哪些 web 内容的一条完整安全限制
2.这里的同源的——源指的是文档的来源。必须同时满足协议、域名、端口相同

vue兄弟传参如何卸载触发事件?

// $on: 当 参数1 名称的事件触发时, 触发参数2的函数

此外$off是关闭事件总线,不触发函数

blog.csdn.net/weixin_5681…