建设协会网站,网页剪辑app,h5网站的好处,site 危险网站1、说说你对闭包的理解 使用闭包主要是为了设计私有的方法和变量。闭包的优点是可以避免全局变量的污染#xff0c;缺点是闭包会常驻内存#xff0c;会增大内存使用量#xff0c;使用不当很容易造成内存泄露。在js中#xff0c;函数即闭包#xff0c;只有函数才会产生作用…1、说说你对闭包的理解 使用闭包主要是为了设计私有的方法和变量。闭包的优点是可以避免全局变量的污染缺点是闭包会常驻内存会增大内存使用量使用不当很容易造成内存泄露。在js中函数即闭包只有函数才会产生作用域的概念 闭包有三个特性 1.函数嵌套函数 2.函数内部可以引用外部的参数和变量 3.参数和变量不会被F垃圾回收机制回收
2、js继承方式及其优缺点 原型链继承的缺点
一是字面量重写原型会中断关系使用引用类型的原型并且子类型还无法给超类型传递参数。 借用构造函数(类式继承)
借用构造函数虽然解决了刚才两种问题但没有原型则复用无从谈起。所以我们需要原型链借用构造函数的模式这种模式称为组合继承 组合式继承
组合式继承是比较常用的一种继承方法其背后的思路是 使用原型链实现对原型属性和方法的继承而通过借用构造函数来实现对实例属性的继承。这样既通过在原型上定义方法实现了函数复用又保证每个实例都有它自己的属性。
3、Javascript中callee和caller的作用?
caller是返回一个对函数的引用该函数调用了当前函数;
callee是返回正在被执行的function函数也就是所指定的function对象的正文。
4 . .call() 和 .apply() 的含义和区别? call() 和 apply() 是预定义的函数方法。两个方法可用于调用函数两个方法的第一个参数必须是对象本身。 后面的参数都是传递给当前对象的参数。 区别apply传入的是一个参数数组也就是将多个参数组合成为一个数组传入而call则作为call的参数传入(从第二个参数开始)。 Object.call(this,obj1,obj2,obj3) Object.apply(this,arguments) 在 JavaScript 严格模式(strict mode)下, 在调用函数时第一个参数会成为 this 的值 即使该参数不是一个对象。 在 JavaScript 非严格模式(non-strict mode)下, 如果第一个参数的值是 null 或 undefined, 它将使用全局对象替代。
5 . new操作符具体干了什么呢? 1、创建一个空对象并且 this 变量引用该对象同时还继承了该函数的原型。 2、属性和方法被加入到 this 引用的对象中。 3、新创建的对象由 this 所引用并且最后隐式的返回 this 。 以上就是“快问快答JS面向对象面试题”你能回答上来吗?如果想要了解更多的Java面试题相关内容可以加扣扣群390144688下载更多面试题。