分享好友 生活信息首页 生活信息分类 切换频道
2019前端面试题
2024-12-23 10:12

通过上面的简单例子我们可以得出一个结论:对象是通过函数创建的,而函数又是一种对象。那么这是为什么呢?这就牵扯到prototype原型

 

54.null 和 undefeated 的区别?

null是一个表示"无"的对象,转为数值时为0;undefined是一个表示"无"的原始值,转为数值时为NaN

2019前端面试题

https://www.cnblogs.com/qyzy1024/p/4036661.html

 

55.es6 class

ES6 的 class 属于一种“语法糖”,所以只是写法更加优雅,更加像面对对象的编程,其思想和 ES5 是一致的

等同于

其中 constructor 方法是类的构造函数,是一个默认方法,通过 new 命令创建对象实例时,class必须要用new命令创建,不然会报错(TypeError: Class constructor Foo cannot be invoked without ‘new’),自动调用该方法。一个类必须有 constructor 方法,如果没有显式定义,一个默认的 consructor 方法会被默认添加。所以即使你没有添加构造函数,也是会有一个默认的构造函数的。一般 constructor 方法返回实例对象 this ,但是也可以指定 constructor 方法返回一个全新的对象,让返回的实例对象不是该类的实例

class继承中,子类必须在constructor方法中调用super方法,否则新建实例时会报错。这是因为子类自己的this对象,必须先通过父类的构造函数完成塑造,得到与父类同样的实例属性和方法,然后再对其进行加工,加上子类自己的实例属性和方法。如果不调用super方法,子类就得不到this对象。 

 

super 这个关键字,既可以当做函数使用,也可以当做对象使用。这两种情况下,它的用法完全不用。

1.当作函数使用

注:在 constructor 中必须调用 super 方法,因为子类没有自己的 this 对象,而是继承父类的 this 对象,然后对其进行加工,而 super 就代表了父类的构造函数。super 虽然代表了父类 A 的构造函数,但是返回的是子类 B 的实例,即 super 内部的 this 指的是 B,因此 super() 在这里相当于 ```A.prototype.constructor.call(this, props)``。

可以看到,在 super() 执行时,它指向的是 子类 B 的构造函数,而不是父类 A 的构造函数。也就是说,super() 内部的 this 指向的是 B

 

2.当作对象使用

在普通方法中,指向父类的原型对象;在静态方法中,指向父类。

上面代码中,子类 B 当中的 super.c(),就是将 super 当作一个对象使用。这时,super 在普通方法之中,指向 A.prototype,所以 super.c() 就相当于 A.prototype.c()。

 

通过 super 调用父类的方法时,super 会绑定子类的 this

上面代码中,super.s() 虽然调用的是 A.prototytpe.s(),但是 A.prototytpe.s()会绑定子类 B 的 this,导致输出的是 2,而不是 1。也就是说,实际上执行的是 super.s.call(this)

由于绑定子类的 this,所以如果通过 super 对某个属性赋值,这时 super 就是 this,赋值的属性会变成子类实例的属性

上面代码中,super.x 赋值为 3,这时等同于对 this.x 赋值为 3。而当读取 super.x 的时候,调用的是 A.prototype.x,但并没有 x 方法,所以返回 undefined。

 

注意,使用 super 的时候,必须显式指定是作为函数,还是作为对象使用,否则会报错。

上面代码中,console.log(super); 的当中的 super,无法看出是作为函数使用,还是作为对象使用,所以 JavaScript 引擎解析代码的时候就会报错。这是,如果能清晰的表明 super 的数据类型,就不会报错。

最后,由于对象总是继承其他对象的,所以可以在任意一个对象中,使用 super 关键字

https://blog.csdn.net/a419419/article/details/82772412

 

56.JS的运行机制?

https://baijiahao.baidu.com/s?id=1615713540466951098&wfr=spider&for=pc

 

57.函数的防抖和节流

https://www.jianshu.com/p/c8b86b09daf0

 

58.javascript判断一个字符串或者数组里面出现最多的元素及其出现的次数

字符串:

 

数组:

https://blog.csdn.net/m0_37273490/article/details/80712466

 

59.获取数组最大值?

 

60.HTTP协议

当我们在浏览器地址栏上输入要访问的URL后,浏览器会分析出URL上面的域名,然后通过DNS服务器查询出域名映射的IP地址,浏览器根据查询到的IP地址与Web服务器进行通信,而通信的协议就是HTTP协议。

https://blog.csdn.net/aliujiujiang/article/details/81088317

 

61.DNS服务

通常我们访问一个网站,使用的是主机名或者域名来进行访问的。因为相对于IP地址(一组纯数字),域名更容易让人记住。但TCP/IP协议使用的是IP地址进行访问的,所以必须有个机制或服务把域名转换成IP地址。DNS服务就是用来解决这个问题的,它提供域名到IP地址之间的解析服务。

  

 

62.HTTP与TCP/IP、DNS的关系

HTTP协议与它们之间的关系:

HTTP与TCP/IP、DNS的关系
当客户端访问Web站点时,首先会通过DNS服务查询到域名的IP地址。然后浏览器生成HTTP请求,并通过TCP/IP协议发送给Web服务器。Web服务器接收到请求后会根据请求生成响应内容,并通过TCP/IP协议返回给客户端。

 

63.箭头函数

引入箭头函数有两个方面的作用:更简短的函数并且不绑定。

箭头函数表达式的语法比函数表达式更简洁,并且没有自己的thisargumentssuper或 new.target

这些函数表达式更适用于那些本来需要匿名函数的地方,并且它们不能用作构造函数。 

箭头函数不会创建自己的。

箭头函数没有prototype属性。

由于 箭头函数没有自己的this指针,通过  或  方法调用一个函数时,只能传递参数(不能绑定this),他们的第一个参数会被忽略。(这种现象对于bind方法同样成立)

 

    以上就是本篇文章【2019前端面试题】的全部内容了,欢迎阅览 ! 文章地址:http://w.yusign.com/tjnews/999.html 
     资讯      企业新闻      行情      企业黄页      同类资讯      首页      网站地图      返回首页 述古往 http://w.yusign.com/mobile/ , 查看更多   
最新新闻
学科教学历史考研院校有哪些
对于计划参加学科教学历史考研的研究生来说,选择合适的院校是至关重要的。以下是一些知名的院校,它们在学科教学历史领域中享有
百度停PC浏览器服务 国研政情·经济信息智库:挽不回市场
百度停PC浏览器服务 国研政情·经济信息智库:挽不回市场(赵晨 驱动中国)新闻中国采编网 中国新闻采编网 谋定研究·中国智库网
更多安狗狗清理大师安卓历史版本(6个)
安狗狗清理大师,完全免费的手机空间清理、手机加速的软件。 1:应用信息清理大师,一款专注安卓用户的专业手机清理软件。体积小
六款超级神器!Markdown编辑器、Windows系统安装和禁止自动更新、图片批量修改公交、安全移除USB设备和微信输入法。
大家好,我是北山!本期分享几款免费优质的工具神器,Markdown编辑器、Windows系统安装工具、图片批量修改神器、禁止Windows自动
孝感爱采购标题撰写
百度爱采购也有付费会员和免费会员两类,一般来说付费的优先展示。但这不是全部因素,百度爱采购还会从大数据、用户浏览数据、页
日照网站建设排名优化,打造高效、用户友好的网站,提升搜索引擎排名,日照网站建设哪家好
日照网站建设优化,旨在打造高效、用户友好的网站,提升搜索引擎排名。选择一家好的网站建设公司至关重要,如日照市领先的网络科
漫蛙App官网入口及使用指南:全方位探索动漫世界的必备工具
随着数字化时代的到来,动漫已经成为了全球文化中的重要一部分,而随着动漫爱好者需求的增加,各种相关的应用程序也应运而生。漫
湖北亿纬动力取得一种测试用夹持装置专利,能保证垂直测量的角度,提高垂直测量的可靠性
金融界2024年12月11日消息,国家知识产权局信息显示,湖北亿纬动力有限公司取得一项名为“一种测试用夹持装置”的专利,授权公告
明天有小雪,气温下降,雪后风大!
市气象台12月11日14时发布:今天下午晴间多云,北转南风二三级,最高气温6℃;夜间晴转多云,南转北风一二级,最低气温零下3℃。
天正三亚湾壹号-售楼中心丨楼盘解析丨户型、价格丨最新优惠
跨山越海丨在三亚湾奔赴心之所向☎售楼处热线:0898-66599661【售楼中心】☎专属金牌置业顾问:13379996468【微信同步】★★售楼