前端实习生题库整理(一)
- 关于 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实现。
- 下面有关javascript内部对象的描述,正确的有?
A. History 对象包含用户(在浏览器窗口中)访问过的 URL
B. Location 对象包含有关当前 URL 的信息
C. Window 对象表示浏览器中打开的窗口
D. Navigator 对象包含有关浏览器的信息
答案: A B C D
解析:
- Navagator:提供有关浏览器的信息
- Window:Window对象处于对象层次的最顶层,它提供了处理Navagator窗口的方法和属性
- Location:提供了与当前打开的URL一起工作的方法和属性,是一个静态的对象
- History:提供了与历史清单有关的信息
- Document:包含与文档元素一起工作的对象,它将这些元素封装起来供编程人员使用
- 按照CommonJS规范,在任何模块代码的作用域下内置了以下哪些变量?
A. module
B. context
C. require
D. exports
答案: A C D
解析:
浏览器不兼容CommonJS的根本原因,在于缺少四个Node.js环境的变量。 module exports require global
- 如何获取下面表单 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
- 以下 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
- 与其他 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))就是正确的
- 如何判断一个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]’;这才是正确的
- 下面求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( )需要两个参数,第一个可以任意,第二个可以接收一个数组作为参数,不管数组中有多少个元素。
- 下列关于比较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.性能问。
- 以下哪些对象是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 对象
- 下面哪一个不是 JavaScript 的保留字?
A. goto
B. abstract
C. implements
D. super
E. array
答案: E
解析:Array是Js的对象
- w3c 制定的 javascript 标准事件模型,以下正确的顺序以及描述是?
A. 事件捕获>事件冒泡
B. 事件捕获->事件处理->事件冒泡
C. 事件冒泡->事件处理
D. 事件冒泡->事件处理->事件捕获
E. 事件处理->事件捕获->事件冒泡
答案: B
解析:事件流包括3个阶段:
(1)事件捕获
(2)处于目标阶段(事件处理 )
(3)事件冒泡阶段
函数的调用方式有哪些 ?
A. 直接调用
B. 作为对象方法调用
C. 作为构造函数调用
D. 通过call和apply方法调用
答案: ABCD以下代码的执行后,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
- 在标准的 JavaScript 中, Ajax 异步执行调用基于下面哪一个机制才能实现? ?
A. Event和callback
B. 多线程操作
C. 多CPU核
D. Deferral和promise
答案: A
- ({} + ‘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码进行比较
- 以下哪些选项可以将集合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里面的元素。
- 当用户打开一个网页时,想一直停留在当前打开的页面,禁止页面前进和后退,以下正确的是( )?
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);
- 假设有如下代码,那么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
- 下列哪些事件不支持冒泡?
A. resize
B. click
C. blur
D. mouseleave
答案: ACD
解析:
不支持冒泡事件有:
①focus
②blur
③mouseenter
④mouseleave
⑤load
⑥unload
⑦resize
前端实习生题库整理(一)相关推荐
- LeetCode题库整理【Java】—— 3 无重复字符的最长子串
LeetCode题库整理[Java] ## 3 无重复字符的最长子串 题目:给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度. 示例 1: 输入: "abcabcbb" ...
- LeetCode题库整理【Java】—— 2 两数相加
LeetCode题库整理[Java] 2.两数相加 题目:给出两个 非空 的链表用来表示两个非负的整数.其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字. 如果, ...
- LeetCode题库整理【Java】—— 7整数反转
LeetCode题库整理[Java] 7.整数反转 题目:给出一个32位的有符号整数,你需要将这个这个整数中每位上的数字进行反转. 示例1: 输入: 123 输出: 321 示例2: 输入: -123 ...
- LeetCode题库整理【Java】—— 1两数之和
LeetCode题库整理[Java] 1.两数之和 题目:给定一个整数数组和一个目标值,找出数组中和为目标值的两个数.你可以假设每个输入只对应一种答案,且同样的元素不能被重复利用. 示例: 给定 nu ...
- HCIP考试心得,题库整理
HCIP考试心得,题库整理. 本人整理的题库,结合了多版本题库,去重,修正错误,加入注解, 汇总而成,为方便刷题,进行了分类.需要的可以联系.qq:403391198,
- 太理java题库_2020年Java题库整理
2020年Java题库整理(WUST) 前言:去我的个人博客阅读效果更好哟. 知识点整理: 1.Java 语言具有跨平台性, 是一种面向对象的语言,程序具有可移植性,不可多继承. 2.Java的标准版 ...
- mysql认证考试6_Mysql 8.0 OCP认证考试原题题库整理-第6题(CUUG内部资料)
Mysql 8.0 OCP认证考试原题题库整理(CUUG内部资料)-第6题 Choose the best answer. You are having performance issues with ...
- mysql ocp 认证 题库_Mysql 8.0 OCP认证考试原题题库整理(CUUG内部资料)-第1题
Mysql 8.0 OCP认证考试原题题库整理(CUUG内部资料)-第1题 1.Choose the best answer. Examine these statements and output: ...
- 2021年秋季《数据结构》_EOJ 1019.题库整理(已解决)
题目 解法 第一种方法(Time limit exceeded) 开一个大数组a,a[i]表示难度为i的题目个数,查询操作时从后往前找最高难度.在这里为了避免每次从MAXN往回找,用了全局变量maxl ...
最新文章
- workday与oracle,workingday与workday的区别 – 手机爱问
- Android 开发工程师面试指南
- 随笔(2018.9.2.)
- tkinter笔记:通过点击button 控制标签的显示 (莫烦python笔记)
- 生成随机数 java
- pandas Dataframe统计缺失值占比
- CentOS 7安装配置vsftpd做FTP服务
- BZOJ3156 防御准备
- 聊一聊输入阻抗、输出阻抗和阻抗匹配
- 局域网vnc远程控制软件,盘点三款特别好用的局域网vnc远程控制软件
- 双显卡笔记本安装Ubuntu系统
- Tektronix TBS1102B 示波器
- 多元函数的极限,连续,偏导数,全微分之间的关系(学习笔记)
- 原理图,PCB设计软件
- Beta分布(概率的概率)
- 51job爬虫-xpath
- Python:flake8_E501_E128_E125
- 第一章 信息源泉——推介资料出处
- js 正则替换隐藏部分身份证或手机号以及隐藏部分名字
- 训练集(trainning set),测试机(testing set),验证集(validation set)
热门文章
- 如何将Excel表中一列数据的分子和分母分别存储
- meta (ASP) 使用说明
- AutoCAD二次开发(.Net)之动态块
- js中动态添加/插入HTML代码块,并通过JQuery动态绑定点击事件
- xilinx xdc 约束及时序收敛分析
- python使用递归实现斐波那契数列
- 二级MySQL数据库程序设计(一)
- CUMTOJ:algorithm-沙子的质量(题解)
- PLC网关,PLC远程网关
- 拆机 短接 触点 线刷 斐讯 N1_美炸了!北美N1放大1000倍圣诞水晶球登场,惊艳了整个华北!...