1. 关于 javascript 模块化,下列描述错误的是?
    A. AMD推崇依赖前置,CMD推崇依赖就近
    B. Sea.js遵循AMD规范,RequireJS遵循CMD规范
    C. 主流的模块化包括CommonJS,AMD,CMD等
    D. 模块化有利于管理模块间的依赖,更依赖模块的维护

答案:B
解析:

  • CommonJS是服务器端的同步js模块化规范,由NodeJS实现
  • amd, cmd是用在浏览器端的异步模块化规范。
  • AMD依赖 前置书写,由require.js实现。
  • CMD依赖 就近书写,由sea.js实现。
  1. 下面有关javascript内部对象的描述,正确的有?
    A. History 对象包含用户(在浏览器窗口中)访问过的 URL
    B. Location 对象包含有关当前 URL 的信息
    C. Window 对象表示浏览器中打开的窗口
    D. Navigator 对象包含有关浏览器的信息

答案: A B C D
解析:

  • Navagator:提供有关浏览器的信息
  • Window:Window对象处于对象层次的最顶层,它提供了处理Navagator窗口的方法和属性
  • Location:提供了与当前打开的URL一起工作的方法和属性,是一个静态的对象
  • History:提供了与历史清单有关的信息
  • Document:包含与文档元素一起工作的对象,它将这些元素封装起来供编程人员使用
  1. 按照CommonJS规范,在任何模块代码的作用域下内置了以下哪些变量?
    A. module
    B. context
    C. require
    D. exports

答案: A C D
解析:
浏览器不兼容CommonJS的根本原因,在于缺少四个Node.js环境的变量。 module exports require global

  1. 如何获取下面表单 select域的选择部分的文本?
<form name="formA">
<select name="a" size="1" id=”obj”>
<option value="a">1</option>
<option value="b">2</option>
<option value="c">3</option>
</select>
</form>

A. obj. value
B. obj.options[obj.selectedIndex].value
C. obj.text
D. obj.options[obj.selectedIndex].text

答案: D

  1. 以下 javascript 代码,在浏览器中运行的结果是()
    var a = 4399 < 0 || typeof(4399 + ‘’);
    console.log(a);
    A. true
    B. string
    C. undefined
    D. false
    E. number

答案: B
解析:此处的 “||” 是短路或,即 若“||” 之前的值为true则a直接等于前面的值。但此处“4399 < 0”是false,所以需要看 “||” 后面的表达式,4399 + ""是String类型,所以typeof返回String, a = String

  1. 与其他 IEEE 754 表示浮点数的编程语言一样,JavaScript 的 number 存在精度问题,比如 0.2 + 0.4 的结果是 0.6000000000000001。以下选项中,能得到 0.6 的是?
    A. parseFloat(0.2 + 0.4)
    B. parseFloat((0.2 + 0.4).toFixed(1))
    C. Math.round(0.2 + 0.4)
    D. parseFloat((0.2 + 0.6).toPrecision(1))

答案:B
解析:
parseFloat 解析一个字符串,并返回一个浮点数
toFixed 把数字转换为字符串,结果的小数点后有指定位数的数字
Math.round 把一个数字四舍五入为最接近的整数
toPrecision 把数字格式化为指定的长度 选项改成parseFloat((0.2 + 0.4).toPrecision(1))就是正确的

  1. 如何判断一个js对象是否是Array,arr为要判断的对象,其中最准确的方法是?
    A. typeof(arr)
    B. arr instanceof Array
    C. arr.toString===’[object Array]’;
    D. Object.prototype.toString.call(arr) === ‘[object Array]’;

答案: D
解析:
typeof(arr),typeof返回的是基本数据类型及object,不会详细到array的,所以不可以
arr instanceof Array,这一点还不透彻,说的是在多iframe/window环境下,通过Instanceof来识别对象是否属于数组会出错
arr.toString,直接使用toString函数自然是数组有什么就返回什么了,例如[1,2] => ‘1,2’`
Object.prototype.toString.call(arr) === ‘[object Array]’;这才是正确的

  1. 下面求a中最大值正确的是
var a = [1,4,5,2,9];
A. Math.max(a)
B. Array.max(a)
C. Math.max.call(null,a)
D. Math.max.apply(null,a)

答案: D
解析:
Math对象包含max()方法,用于确认一组数值中的最大值。该方法接收任意多个数值参数,不接受数组参数。
call( )需要传递明确几个参数,接受的是一个参数列表。
apply( )需要两个参数,第一个可以任意,第二个可以接收一个数组作为参数,不管数组中有多少个元素。

  1. 下列关于比较Ajax与Flash的优缺点,相关描述正确的是?
    A. Ajax的优势在意在于开放性,易用性及易于开发
    B. Flash的优势在于多媒体处理,可以更容易的调用浏览器以外的外部资源
    C. Ajax最主要的批评就是它可能破坏浏览器的后退功能
    D. flash 文件经常会很大,用户第一次使用的时候需要忍耐较长的等待时间

答案:ABCD
解析:
Ajax的优势:1.可搜索性 2.开放性 3.费用 4.易用性 5.易于开发。
Flash的优势:1.多媒体处理 2.兼容性 3.矢量图形 4.客户端资源调度
Ajax的劣势:1.它可能破坏浏览器的后退功能 2.使用动态页面更新使得用户难于将某个特定的状态保存到收藏夹中 ,不过这些都有相关方法解决。
Flash的劣势:1.二进制格式 2.格式私有 3.flash 文件经常会很大,用户第一次使用的时候需要忍耐较长的等待时间 4.性能问。

  1. 以下哪些对象是Javascript内置的可迭代对象?
    A. Array
    B. Map
    C. String
    D. Object

答案:ABC
解析:
ES6 规定,默认的 Iterator 接口部署在数据结构的Symbol.iterator属性,或者说,一个数据结构只要具有Symbol.iterator属性,就可以认为是“可迭代的”(iterable)。
原生具备 Iterator 接口的数据结构如下:

  • Array
  • Map
  • Set
  • String
  • TypedArray
  • 函数的arguments 对象
  • NodeList 对象
  1. 下面哪一个不是 JavaScript 的保留字?
    A. goto
    B. abstract
    C. implements
    D. super
    E. array

答案: E

解析:Array是Js的对象

  1. w3c 制定的 javascript 标准事件模型,以下正确的顺序以及描述是?
    A. 事件捕获>事件冒泡
    B. 事件捕获->事件处理->事件冒泡
    C. 事件冒泡->事件处理
    D. 事件冒泡->事件处理->事件捕获
    E. 事件处理->事件捕获->事件冒泡

答案: B
解析:事件流包括3个阶段:
(1)事件捕获
(2)处于目标阶段(事件处理 )
(3)事件冒泡阶段

  1. 函数的调用方式有哪些 ?
    A. 直接调用
    B. 作为对象方法调用
    C. 作为构造函数调用
    D. 通过call和apply方法调用
    答案: ABCD

  2. 以下代码的执行后,str 的值是?
    var str = “Hellllo world”;
    str = str.replace(/(l)\1/g, ‘$1’);
    A. Helo world
    B. Hello world
    C. Helllo world
    D. Hellllo world

答案: B
解析:
(1) 定义
(l)表示第一个分组里有l
\1表示所获取的第1个()匹配的引用
/g表示全局匹配
$1表示第一个分组里的值l
(2)因此

(l)\l 表示匹配两个连续字符ll,即ll
(l)\l/g 表示全局匹配两个连续字符ll即llll
str.replace(/(l)\1/g, ‘$1’) 表示将ll替换成l
(3)结果

Hellllo =》 Hello

  1. 在标准的 JavaScript 中, Ajax 异步执行调用基于下面哪一个机制才能实现? ?
    A. Event和callback
    B. 多线程操作
    C. 多CPU核
    D. Deferral和promise

答案: A

  1. ({} + ‘b’ > {} + ‘a’)返回值是?
    A. a
    B. b
    C. ba
    D. true
    E. false
    F. 执行报错

答案: D
在{}+‘b’>{}+'a’中 {}处在语句的起始位置,不会被解析成{}空对象,会被解析为一个表达式,类似于这样 { } +‘b’ 此时的+‘b’是一个表达式值为NaN 第二个{}并没有处在语句的起始位置,所以会被解析成为空对象 此时的{}+‘a’ 结果为【object object】a 所以{}+‘b’>{}+'a’结果为false 而({}+‘b’>{}+‘a’)结果为true 因为上面的表达式解析后的结果是【object object】b >【object object】a 此时会按照ASCII码进行比较

  1. 以下哪些选项可以将集合A转化为数组??
    A. Array.form(A)
    B. [].slice.apply(A)
    C. […A]
    D. [].map.call(A, o => o)
    答案: ABCD
    解析:

Array.from(arr, mapfn,thisArg)方法,用于将两类可以把对象转换为真正的数组:类似数组的对象和可遍历的对象(部署了Iterator接口的,String,ES6新增的Map和Set)。可以传3个参数,其中第一个是数组,必传;第二个是一个函数(类似map函数),对数组元素进行操作后再返回数组,可选;第三个是对于this关键字的指向,可选。
slice() 方法可从已有的数组中返回选定的元素。
返回值:返回一个新的数组,包含从 start 到 end (不包括该元素)的 arrayObject 中的元素。
说明:请注意,该方法并不会修改数组,而是返回一个子数组。如果想删除数组中的一段元素,应该使用方法 Array.splice()。
所以在这里就是对集合A应用slice,返回一个新的数组,不对数组做任何改变。
展开运算符,把A集合的元素展开后,用数组[]承载,返回新的数组。
map() 方法返回一个新数组,数组中的元素为原始数组元素调用函数处理后的值。
map() 方法按照原始数组元素顺序依次处理元素。
注意: map() 不会对空数组进行检测。
注意: map() 不会改变原始数组。
所以map方法返回了一个新的数组,并且数组中每个元素是A里面的元素。

  1. 当用户打开一个网页时,想一直停留在当前打开的页面,禁止页面前进和后退,以下正确的是( )?
    A. window.history.forward(1);
    B. window.history.back(1);
    C. window.history.go(-1);
    D. window.history.forward(-1);

答案: AD
解析:
B: window.history.back( ) 方法加载历史列表中前一个 URL。 这等同于在浏览器中点击后退按钮。
C: **window.history.go( )**方法载入到会话历史中的某一特定页面, 通过与当前页面相对位置来标志 (当前页面的相对位置标志为0).
(1) 向后移动一个页面 (等同于调用 back()):

window.history.go(-1);

(2) 向前移动一个页面, 等同于调用了 forward():

window.history.go(1);
  1. 假设有如下代码,那么a(10)的返回结果是 ?
    function a(a)
    {
    a^=(1<<4)-1;
    return a;
    }
    A. 5
    B. 10
    C. 15
    D. 16

答案: A
解析:
<< 表示左移,先化为2进制,1为01,然后左移4位,成010000,再化为10进制,10000(二进制) = 16(十进制)。 接着a = a ^15 而a = 10.
符号^表示异或,也就是比较对应的二进制位是否相同,相同为0,不同为1。 10的二进制 => 1010 15的二进制 => 1111 通过异或运算可以得到 0101 再转换成十进制即是5

  1. 下列哪些事件不支持冒泡?
    A. resize
    B. click
    C. blur
    D. mouseleave

答案: ACD
解析:
不支持冒泡事件有:
①focus
②blur
③mouseenter
④mouseleave
⑤load
⑥unload
⑦resize

前端实习生题库整理(一)相关推荐

  1. LeetCode题库整理【Java】—— 3 无重复字符的最长子串

    LeetCode题库整理[Java] ## 3 无重复字符的最长子串 题目:给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度. 示例 1: 输入: "abcabcbb" ...

  2. LeetCode题库整理【Java】—— 2 两数相加

    LeetCode题库整理[Java] 2.两数相加 题目:给出两个 非空 的链表用来表示两个非负的整数.其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字. 如果, ...

  3. LeetCode题库整理【Java】—— 7整数反转

    LeetCode题库整理[Java] 7.整数反转 题目:给出一个32位的有符号整数,你需要将这个这个整数中每位上的数字进行反转. 示例1: 输入: 123 输出: 321 示例2: 输入: -123 ...

  4. LeetCode题库整理【Java】—— 1两数之和

    LeetCode题库整理[Java] 1.两数之和 题目:给定一个整数数组和一个目标值,找出数组中和为目标值的两个数.你可以假设每个输入只对应一种答案,且同样的元素不能被重复利用. 示例: 给定 nu ...

  5. HCIP考试心得,题库整理

    HCIP考试心得,题库整理. 本人整理的题库,结合了多版本题库,去重,修正错误,加入注解, 汇总而成,为方便刷题,进行了分类.需要的可以联系.qq:403391198,

  6. 太理java题库_2020年Java题库整理

    2020年Java题库整理(WUST) 前言:去我的个人博客阅读效果更好哟. 知识点整理: 1.Java 语言具有跨平台性, 是一种面向对象的语言,程序具有可移植性,不可多继承. 2.Java的标准版 ...

  7. mysql认证考试6_Mysql 8.0 OCP认证考试原题题库整理-第6题(CUUG内部资料)

    Mysql 8.0 OCP认证考试原题题库整理(CUUG内部资料)-第6题 Choose the best answer. You are having performance issues with ...

  8. mysql ocp 认证 题库_Mysql 8.0 OCP认证考试原题题库整理(CUUG内部资料)-第1题

    Mysql 8.0 OCP认证考试原题题库整理(CUUG内部资料)-第1题 1.Choose the best answer. Examine these statements and output: ...

  9. 2021年秋季《数据结构》_EOJ 1019.题库整理(已解决)

    题目 解法 第一种方法(Time limit exceeded) 开一个大数组a,a[i]表示难度为i的题目个数,查询操作时从后往前找最高难度.在这里为了避免每次从MAXN往回找,用了全局变量maxl ...

最新文章

  1. workday与oracle,workingday与workday的区别 – 手机爱问
  2. Android 开发工程师面试指南
  3. 随笔(2018.9.2.)
  4. tkinter笔记:通过点击button 控制标签的显示 (莫烦python笔记)
  5. 生成随机数 java
  6. pandas Dataframe统计缺失值占比
  7. CentOS 7安装配置vsftpd做FTP服务
  8. BZOJ3156 防御准备
  9. 聊一聊输入阻抗、输出阻抗和阻抗匹配
  10. 局域网vnc远程控制软件,盘点三款特别好用的局域网vnc远程控制软件
  11. 双显卡笔记本安装Ubuntu系统
  12. Tektronix TBS1102B 示波器
  13. 多元函数的极限,连续,偏导数,全微分之间的关系(学习笔记)
  14. 原理图,PCB设计软件
  15. Beta分布(概率的概率)
  16. 51job爬虫-xpath
  17. Python:flake8_E501_E128_E125
  18. 第一章 信息源泉——推介资料出处
  19. js 正则替换隐藏部分身份证或手机号以及隐藏部分名字
  20. 训练集(trainning set),测试机(testing set),验证集(validation set)

热门文章

  1. 如何将Excel表中一列数据的分子和分母分别存储
  2. meta (ASP) 使用说明
  3. AutoCAD二次开发(.Net)之动态块
  4. js中动态添加/插入HTML代码块,并通过JQuery动态绑定点击事件
  5. xilinx xdc 约束及时序收敛分析
  6. python使用递归实现斐波那契数列
  7. 二级MySQL数据库程序设计(一)
  8. CUMTOJ:algorithm-沙子的质量(题解)
  9. PLC网关,PLC远程网关
  10. 拆机 短接 触点 线刷 斐讯 N1_美炸了!北美N1放大1000倍圣诞水晶球登场,惊艳了整个华北!...