当前位置: 首页 > 编程笔记 >

关于js原型的面试题讲解

姜聪
2023-03-14
本文向大家介绍关于js原型的面试题讲解,包括了关于js原型的面试题讲解的使用技巧和注意事项,需要的朋友参考一下

今天遇到关于javascript原型的一道面试题,现分析下:

原题如下:

function A(){
}
function B(a){
  this.a = a;
}
function C(a){
  if(a){
this.a = a;
  }
}
A.prototype.a = 1;
B.prototype.a = 1;
C.prototype.a = 1;
 
console.log(new A().a);
console.log(new B().a);
console.log(new C(2).a);

分析:

console.log(new A().a);  //new A()为构造函数创建的对象,本身没有a属性,所以向它的原型去找,发现原型的a属性的属性值为1,故该输出值为1;

console.log(new B().a);  //new B()为构造函数创建的对象,该构造函数有参数a,但该对象没有传参,故该输出值为undefined;

console.log(new C(2).a);  //new C()为构造函数创建的对象,该构造函数有参数a,且传的实参为2,执行函数内部,发现if为真,执行this.a = 2,故属性a的值为2;

故这三个的输出值分别为:1、undefined、2.  

以上就是小编为大家带来的关于js原型的面试题讲解的全部内容了,希望对大家有所帮助,多多支持小牛知识库~

 类似资料:
  • 本文向大家介绍基于js中的原型(全面讲解),包括了基于js中的原型(全面讲解)的使用技巧和注意事项,需要的朋友参考一下 在讲js的原型之前,必须先了解下Object和Function。 Object和Function都作为JS的自带函数,Object继承自己,Funtion继承自己,Object和Function互相是继承对方,也就是说Object和Function都既是函数也是对象。 Objec

  • 作为一个 Python 新手,你必须熟悉基础知识。在本文中我们将讨论一些 Python 面试的基础问题和高级问题以及答案,以帮助你完成面试。包括 Python 开发问题、编程问题、数据结构问题、和 Python 脚本问题。让我们来深入研究这些问题。

  • 本文向大家介绍全面解析js中的原型,原型对象,原型链,包括了全面解析js中的原型,原型对象,原型链的使用技巧和注意事项,需要的朋友参考一下 理解原型 我们创建的每一个函数都有一个prototype(原型)属性,这个属性是一个指针,指向一个对象,而这个对象的用途是包含可以由特定类型的所有实例共享的属性和方法。看如下例子: 理解原型对象 根据上面代码,看下图: 需要理解三点: 我们只要创建了一个新的函

  • 本文向大家介绍7道关于JS this的面试题,你能答对几个,包括了7道关于JS this的面试题,你能答对几个的使用技巧和注意事项,需要的朋友参考一下 前言 在 JavaScript 中,this 是函数调用上下文。正是由于 this 的行为很复杂,所以在 JavaScript 面试中,总是会问到有关  this 的问题。 做好的准备面试的方法是练习,所以本文针对 this 关键字整理了 7 个有

  • # 一、索引和约束 # 何时使用索引 索引能够轻易将查询性能提升几个数量级。 什么情况适用索引: 表经常进行 SELECT 操作; 表的数据量比较大; 列名经常出现在 WHERE 或连接条件中 什么情况不适用索引: 表经常进行 INSERT/UPDATE/DELETE 操作; 表的数据量比较小; 列名不经常出现在 WHERE 或连接条件中 # 索引的优缺点 索引的优点: 索引大大减少了服务器需要扫

  • 本文向大家介绍php面试中关于面向对象的相关问题,包括了php面试中关于面向对象的相关问题的使用技巧和注意事项,需要的朋友参考一下 PHP中面向对象常考的知识点有以下7点,我将会从以下几点进行详细介绍说明,帮助你更好的应对PHP面试常考的面向对象相关的知识点和考题。 整个面向对象文章的结构涉及的内容模块有: 一、面向对象与面向过程有什么区别? 二、面向对象有什么特征? 三、什么是构造函数和析构函数