广告
返回顶部
首页 > 资讯 > 前端开发 > JavaScript >Javascript 面试题随笔
  • 632
分享到

Javascript 面试题随笔

面试题 2022-11-21 22:11:56 632人浏览 八月长安
摘要

var Fundamental = {count:1}; function Test(){} Test.prototype = Fundamental; Test.prototyp


var Fundamental = {count:1};
function Test(){}
Test.prototype = Fundamental;
Test.prototype.increase = function(){this.count++;};
var test = new Test();
console.log(test.count);
var test2 = new Test();
console.log(test2.count);
test.increase();
//test.count和test2.count的值各是多少

前天去面试遇到的一道题,面试的问题大概是当test.increase被调用时,test和test2的count值分别是多少
首先,回答这道题有可能把这种情况与另一种类似的情况相混淆:
假如把代码改成:

function FundamentalModified(){
var count = 1;
this.increase = function(){
count++;
}
this.show = function(){
return count;
}
}
function TestModified(){}
TestModified.prototype = new FundamentalModified();
var test3 = new TestModified();
var test4 = new TestModified();
test3.increase();
//test3.show()和test4.show()各是多少

假如问题改成这样,那就简单的多了。但是两个问题并不会得到相同的结果。
==========================================分割一下
回到面试题中,其实面试题的答案是2和1。原因呢:test.count是test的属性,而且test2.count其实是test2.__proto__的属性:

当test.increase()被调用时,js执行了this.count++ ==> 返回this.count; this.count = this.count + 1;

this.count = this.count + 1;

这句在看似简单的语句其实有着不同寻常的意味~~

这句话的意思其实是,给实例新建一个属性,这个属性被赋予this.count + 1的值。

this.count 其实是在原型链中的count,也就是这个this.count++其实在第一次执行的时候表现为:

this.count = Test.Prototype.count + 1;

可以用hasOwnProperty来验证一下:

当var test = new Test()时。test.hasOwnProperty("count")  === false
test.increase()后。 test.hasOwnProperty("count")  === true
总的来说,JS还是一个很好玩的语言。

--结束END--

本文标题: Javascript 面试题随笔

本文链接: https://www.lsjlt.com/news/173263.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Javascript 面试题随笔
    复制代码 代码如下: var Fundamental = {count:1}; function Test(){} Test.prototype = Fundamental; Tes...
    99+
    2022-11-21
    面试题
  • Java面试笔试题大全
    JAVA相关基础知识1、面向对象的特征有哪些方面 1.抽象:抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节。抽象包括两个方面,一是...
    99+
    2023-06-03
  • MySQL面试笔试题集-BAT
    01、MySQL技术特点 02、MySQL默认端口号         3306 03、MySQL优势 04、MySQL支持的储存引擎以及特点         MySQL5.7支持:InnoDB、MyISAM、MERGE、MEMOR...
    99+
    2018-09-18
    MySQL面试笔试题集-BAT
  • Java常见面试题:java面试笔记
    基本数据类型有哪些?基本数据类型包括byte、int、char、long、float、double、boolean和short。 java.lang.String类是final类型的,因此不可以继承这个类、不能修改这个类。为了提高效率节省空...
    99+
    2023-06-02
  • Redis 基本认识(笔试、面试题)
    一、Redis 1、简介 【官方简介地址:】 https://redis.io/topics/introduction   看不懂不要紧,先混个眼熟,慢慢来...。 【初步认识 Redis:】 Redis i...
    99+
    2018-04-18
    Redis 基本认识(笔试 面试题)
  • 最常见的MySQL面试及笔试题
    不知道大家之前对类似最常见的MySQL面试及笔试题的文章有无了解。今天我在这里给大家再简单的讲讲。感兴趣的话就一起来看看正文部分吧,相信看完最常见的MySQL面试及笔试题你一定会有所收获的。01、MySQL...
    99+
    2022-10-18
  • JavaScript算法面试题
    目录有效的括号问题解题信息暴力消除法栈解题法结尾前言: 现实总是残酷的,最近有个学妹在换工作,面试前什么手写Priomise、vue双向绑定原理,webpack优化方式,准备了一大堆...
    99+
    2022-11-13
  • 数据库笔试面试题库(Oracle、MySQL等)
    数据库笔试面试题库(Oracle、MySQL等)版权声明:版权所有,欢迎分享本文,转载请保留出处,否则追究法律责任,谢谢合作。 注:本文将持续更新,可关注作者微信公众号以便获得最新笔试面试资料。 ※※※※※...
    99+
    2022-10-18
  • Spring,hibernate,struts的面试笔试题有哪些
    这篇文章主要讲解了“Spring,hibernate,struts的面试笔试题有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Spring,hibernate,struts的面试笔试题有...
    99+
    2023-06-03
  • web前端工程师面试题10条必会笔试题
    布局 左边20% 中间自适应 右边200px 不能用定位答案:圣杯布局/双飞翼布局或者flex什么叫优雅降级和渐进增强?渐进增强 progressive enhancement:针对低版本浏览器进行构建页面,保证最基本的...
    99+
    2023-06-05
  • JavaScript有哪些面试题
    这篇文章主要讲解了“JavaScript有哪些面试题”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“JavaScript有哪些面试题”吧!1.创建JavaSc...
    99+
    2022-10-19
  • JavaScript面试题有哪些
    这篇文章主要为大家展示了“JavaScript面试题有哪些”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“JavaScript面试题有哪些”这篇文章吧。问题1:J...
    99+
    2022-10-19
  • ASP索引和JavaScript面试问题?——ASP索引和JavaScript面试问题全面解析
    在现代互联网的开发中,ASP索引和JavaScript已经成为两项非常重要的技术。因此,在面试ASP和JavaScript开发人员时,常常会涉及到这两个技术的问题。下面我们就来全面解析ASP索引和JavaScript面试问题。 一、ASP...
    99+
    2023-07-21
    索引 面试 javascript
  • java智慧流面试笔试题大全含答案
    1 下列关于栈的描述错误的是(B)A. 栈是先进后出的线性表 (推荐学习:java程序员面试题)B. 栈只能顺序存储C. 栈具有记忆功能D.对栈的插入和删除操作中,不需要改变栈底指针2 对于长度为 n 的线性表,在最坏的情况下...
    99+
    2020-01-27
    java面试题 java
  • 分享JavaScript常见面试题
    这篇文章主要讲解了“分享JavaScript常见面试题”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“分享JavaScript常见面试题”吧!一、请解释 Ja...
    99+
    2022-10-19
  • java笔试题及答案(基础难度笔试题)
    1.有一段java应用程序,它的主类名是al,那么保存它的源文件可以是?()A al.java (推荐学习:java程序员面试题)B.al.classC.alD.都对答案:A分析:.class是...
    99+
    2018-08-27
    java面试题 java
  • Javascript程序员面试试题有哪些
    这篇文章将为大家详细讲解有关Javascript程序员面试试题有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。闭包:function fun(n,o)&nb...
    99+
    2022-10-19
  • java笔试手写算法面试题大全含答案
    1.统计一篇英文文章单词个数。public class WordCounting { public static void main(String[] args) { try(FileReader fr = new ...
    99+
    2017-08-02
    java面试题 java
  • 【嵌入式笔试】嵌入式笔试题
    📜作者:不想脱发的基兄 📺专栏:《嵌入式面试》 📣格言:这个世界上肯定有另一个我,做着我不敢做的事,过着我想过的生活。 前言 2022年秋招我面试嵌入...
    99+
    2023-10-12
    面试 c语言 嵌入式硬件
  • C语言指针笔试题全面解析
    目录前言一、指针笔试题 1.题目如图:2.题目如图: 3.题目如图:4.题目如图:   5.题目如图:6.题目如图:7.题目如图:&...
    99+
    2022-11-12
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作