JavaScript面试题111-120

每日坚持学10道题


111. js数组去重(9种)

[问答题]
用 JavaScript 脚本为 Array 对象添加一个去除重复项的方法。


来自:百度
参考:

// 利用ES6中的 Set 方法去重let arr = [1, 3, 2, 2, 9, 8, 3, 1];function unique(arr) {return Array.from(new Set(arr))}console.log(unique(arr));   // [1,0,2,9,8,3]

代码执行地址:请访问
更多方法:请访问


112. js中的括号

[单选题]
以下哪一条 Javascript 语句会产生运行错误?
A.var obj=( );
B.var obj=[ ];
C.var obj={ };
D.var obj=/ /;


来自:网易
答案:A
A 是语法错误
B 是创建一个数组对象
C 是创建一个对象
D 是一个创建正则对象;若为 var obj=/ /; 即赋值被注释掉,及运行被结束;


113. JS库与API

[单选题]
从四个选项选出不同的一个。
A.JQuery
B.Node.js
C.Prototype
D.CommonJS


来自:搜狐研发工程师模拟笔试题
答案:D

  • Jquery 是继 prototype 之后又一个优秀的 Javascrīpt 框架。它是轻量级的 js 库(压缩后只有 21k) ,它兼容 CSS3,还兼容各种浏览器。
  • Node.js 是一套用来编写高性能网络服务器的 JavaScript 工具包。
  • 在 JavaScript 中,prototype 对象是实现面向对象的一个重要机制。每个函数就是一个对象(Function),函数对象都有一个子对象 prototype 对象,类是以函数的形式来定义的。
  • prototype 表示该函数的原型,也表示一个类的成员的集合。prototype.js 是由 Sam Stephenson 写的一个 javascript 类库。
  • CommonJS API 定义很多普通应用程序(主要指非浏览器的应用)使用的 API,从而填补了这个空白。

114. 浏览器缓存

[问答题]
浏览器的缓存和本地存储相关内容有哪些?
这些在什么环境下都各自能起到什么作用?


来自:百度
参考

  • html 页面、图片等.
  1. 在联网时已访问的内容可以直接从缓存调出来,提高访问速度离线时,可以本地存储做离线访问(google gears)
  2. 以后我们每次访问网站时,IE 会首先搜索这个目录,如果其中已经有访问过的内容,那 IE 就不必从网上下载,而直接从缓存中调出来,从而提高了访 问网站的速度。

115. 优化网页性能(7种)

[问答题]
怎样优化网页性能


来自:百度
参考:

1.尽量减少 HTTP 请求次数
2. 减少 DNS 查找次数
3.资源合并与压缩
4.CSS Sprites
5.Inline Images
6.将外部脚本置底
7.缓存


116. ajax 原理

[问答题]
ajax 原理、如何实现刷新数据及优点?


参考:
来自:迅雷

参考:

  • Ajax 的工作原理相当于在用户和服务器之间加了—个中间层,使用户操作与服务器响应异步化。并不是所有的用户请求都提交给服务器,像—些数据验证和数据处理等都交给 Ajax 引擎自己来做,只有确定需要从服务器读取新数据时再由 Ajax 引擎代为向服务器提交请求。
  • 优点:1、减轻服务器负担 2、无刷新更新页面 3、更好的用户体验

117. 去除字符串的前后空格

[问答题]
用 js 脚本写去除字符串的前后空格。


来自:百度
参考: 脚本方法:

 String.prototype.trim = function (mode) {       //前后去空格if (mode == 'left') {return ((this.charAt(0) == "" && this.length > 0) ? this.slice(1).trim('left') : this);} else if (mode == 'right') {return ((this.charAt(this.length - 1) == "" && this.length > 0) ?this.slice(0, this.length - 1).trim('right') : this);} else {return this.trim('left').trim('right');}};

ES新增的trim() 方法: 参考地址.

// trim 方法取出字符串两边的空格let str = "     str.trim()去除两边的空格     ";console.log(str)  //      str.trim()去除两边的空格     let str2 = str.trim();console.log(str2)  // str.trim()去除两边的空格

118. 语言特性

[单选题]
蔺相如,司马相如;魏无忌,长孙无忌。下列哪一组对应关系与此类似()
A.PHP,Python
B.JSP,servlet
C.Java,Javascript
D.C,C++


来自:程序员文化水平闯关挑战卷
答案:C
蔺相如 和 司马相如,都有 相如; 魏无忌 和 长孙无忌 都有 无忌; 名字里面由重复地方,但没有什么关系。 但是 D 选项 C 和 C plus plus ,后者是对前者的进阶版,不是很贴切


119. 正则

[问答题]
判断字符串是否是这样组成的,第一个必须是字母,后面可以是字母、数字、下划线,总长度为 5-20。


来自:前端工程师练习卷
参考:

var reg = /^[a-zA-Z][a-zA-Z_0-9]{4,19}$/;
reg.test("a1a__a1a__a1a__a1a__");

120. 统计字符次数

[问答题]
判断一个字符串中出现次数最多的字符,统计这个次数。


来自:前端工程师练习卷
参考:

//将字符串的字符保存在一个 hash table 中,key 是字符,value 是这个字符出现的次数var str = "abcdefgaddda";var obj = {};for (var i = 0, l = str.length; i < l; i++) {var key = str[i];if (!obj[key]) {obj[key] = 1;} else {obj[key]++;}}/*遍历这个 hash table,获取 value 最大的 key 和 value*/var max = -1;var max_key = "";var key;for (key in obj) {if (max < obj[key]) {max = obj[key];max_key = key;}}console.log("出现最多的为:" + max_key + " 次数:" + max);

代码地址: 请参考


~~ 今天的面试题完成 ~~

JavaScript面试题111-120相关推荐

  1. JavaScript面试题汇总

    JavaScript 面试题汇总 1. 根据下面 ES6 构造函数的书写方式,要求写出 ES5 的 class Example { constructor(name) { this.name = na ...

  2. JavaScript 面试题汇总

    JavaScript 面试题汇总 1. 根据下面 ES6 构造函数的书写方式,要求写出 ES5 的 class Example { constructor(name) { this.name = na ...

  3. 174道 JavaScript 面试题,助你查漏补缺

    最近在整理 JavaScript 的时候发现遇到了很多面试中常见的面试题,本部分主要是作者在 Github 等各大论坛收录的 JavaScript 相关知识和一些相关面试题时所做的笔记,分享这份总结给 ...

  4. 100道+ JavaScript 面试题,助你查漏补缺

    来源 | https://github.com/Wscats/articles 最近在整理 JavaScript 的时候发现遇到了很多面试中常见的面试题,本文主要是在 Github 等各大论坛收录的 ...

  5. 互联网公司前端初级Javascript面试题

    互联网公司前端初级Javascript面试题 1.JavaScript是一门什么样的语言,它有哪些特点?(简述javascript语言的特点) JavaScript是一种基于对象(Object)和事件 ...

  6. JavaScript面试题集锦

    JavaScript面试题集锦 1.js基础 1.eval是做什么的? 它的功能是把对应的字符串解析成JS代码并运行: 应该避免使用eval,不安全,非常耗性能(2次,一次解析成js语句,一次执行). ...

  7. 一道经典的JavaScript面试题

    一道经典的JavaScript面试题 转载于:https://www.cnblogs.com/suoking/p/5227430.html

  8. 你应该知道的25道Javascript面试题

    题目来自 25 Essential JavaScript Interview Questions.闲来无事,正好切一下. 一 What is a potential pitfall with usin ...

  9. (转载)7个去伪存真的JavaScript面试题

    7个去伪存真的JavaScript面试题 上周,我发表了<C#程序员的7个面试问题>.这次我要说的是如何淘汰那些滥竽充数的JavaScript程序员. 作者:小峰来源:码农网|2015-0 ...

最新文章

  1. nginx alias正则表达式
  2. Node.js 环境下的 console.log 是同步执行的
  3. 稳定婚姻问题:Gale–Shapley算法
  4. 结构体内元素不确定_查漏补缺!高中三年生物最易忽略、易错的30个知识点整理不容错过...
  5. 循序渐进学Python:安装、使用与运行程序
  6. php执行查询的代码,PHP实现动态执行代码的方法
  7. 参加集成电路EDA设计精英挑战赛的体会
  8. HDU5620 KK's Steel【菲波拉契数列+水题】
  9. 与动易模板制作相关的几篇教程链接
  10. Linux tcpdump命令实战
  11. 如何制作APP-微信小程序
  12. 手机重装android系统,安卓手机系统怎样重装
  13. PSAM卡之常用APDU指令错误码
  14. 阿里云S6机型与N4机型哪个好?
  15. Home Assistant 发现小米设备
  16. python 波动率锥_期权波动率期限结构与日历价差策略
  17. Next '21 大会倒计时 1 天丨与 Google Cloud 一起寻找打开数字化的“云钥匙”
  18. 微距摄影,惊人之美!
  19. 一元二次方程组c语言代码,一元二次方程求解程序完整代码
  20. shell统计当前文件夹下的文件个数、目录个数

热门文章

  1. BTC txid与vote的关系
  2. k8s使用volume将ConfigMap作为文件或目录直接挂载_【大强哥-k8s从入门到放弃06】Secret详解...
  3. 黑白图,灰度图,彩色图的理解
  4. android 11.0 wifi开关控制
  5. 【iphone】开发者传授APP开发,审核,发布流程!
  6. win怎么在计算机里按日期搜索文件,win10系统如何按指定修改日期搜索文件
  7. body加背景图片没反应_body背景图片,给body加背景图片
  8. macbook air适合学java,神舟7月9日发轻薄笔记本新品 比MacBook Air还要薄?
  9. 给定一个字符串s,请你找出其中不含有重复字符的最长子串的长度。
  10. H.264的两个概念:DC系数和AC系数