一.选择题
1. 关于cookie,sessionStorage和localStorage,以下说法正确的有:(BC)
A. localStorage作用域都不受限制,可以跨域访问
B. localStorage是持久化的本地存储
C. sessionStorage是会话级别的存储
D. sessionStorage仅当用户logout或者手动清除缓存时才失效
2. <div style=”padding-bottom:50%”>中的50%应该如何计算?(A)
A. 父级元素宽度的50%
B. 0
C. 自身高度的50%
D. 父级元素高度的50%
3. html结构如下
<div></div>
<p></p>
<p></p>
<p></p>
以下哪些选择器能够选中第一组p标签?(A)
1. div+p
2. p:first-child
3. p:first-of-type
4. div~p
5. p:nth-child(2)
A. 135
B. 12
C. 345
D. 24
4. 下面哪些是Flex布局的项目属性:(AC)
A. align-self
B. align-items
C. flex-grow
D. flex-flow
5. 下列关于使用MVVM的特性,正确的是:(BCD)
A. MVVM是一种使用模型-视图-控制器设计创建Web应用程序的模式。
B. 可重用性。可以把一些视图的逻辑放在ViewMode里面,让很多View重用这段视图逻辑。
C. 低耦合。View可以独立于Model变化和修改
D. 模块化开发。开发人员可以专注与业务逻辑和数据的开发(ViewModel)。设计人员可以专注于界面(View)的设计。
6. 下面代码输出是什么?(B)
function fun(n,o){ console.log(o); return{ fun:function(m){ return fun(m,n); } } } var a = fun(0).fun(1).fun(2).fun(3);
A. undefined,1,2,3
B. undefined,0,1,2
C. undefined,0,1,1
D. undefined,0,0,
7. 以下哪些数组方法会更改现有数组返回?(AB)
A. Array.prototype.splice
B. Array.prototype.sort
C. Array.prototype.concat
D. Array.prototype.slice
8. 以下代码的运行结果是:(C)
function Animal(name){ this.name = name; } Animal.prototype = { getName: function(){ return this.name; } } var myDog = new Animal(“dog”); var getName = myDog.getName; getName(“cat”);
A. undefined
B. “cat”
C. “”
D. “dog”
9. 以下代码的运行结果是?(B)(答案应该是4444)
for(var i = 0; I <= 3; i++){ setTimeout(function(){console.log(i);}, 0); }
A. 111
B. 444
C. 123
D. 333
10. HTTP状态码表示暂时性转移的是:(B)
A. 304
B. 302
C. 301
D. 200
二. 问答题
1. HTML+CSS+Javascript实现以下功能:当用户点击页面里所有a标签时,如果其链接里包含数字,则点击该链接时提示用户“该链接存在风险,是否继续点击?”用户只有点击确认才打开该链接
2. 搜狗汪仔机器人在参加一站到底节目录制时,被问到一个问题:“对任意长度字符串,删除其中的任意的N(N>=0)个字符,能形成多少种不同的子字符串呢?”请使用Javascript编码扩展String的delete方法帮助汪仔解决这个问题。
测试用例:
function test(){ return ‘sougou’.delete(0) === 1; }