您的位置:首页 > Web前端

前端试题大综合练习(六)

2017-08-02 10:00 162 查看
1、关于 javascript 模块化,下列描述错误的是

模块化有利于管理模块间的依赖,更依赖模块的维护

主流的模块化包括CommonJS,AMD,CMD等

Sea.js遵循AMD规范,RequireJS遵循CMD规范

AMD推崇依赖前置,CMD推崇依赖就近

答案:C

解:AMD是"Asynchronous Module Definition"的缩写,意思就是"异步模块定义"。它采用异步方式加载模块,模块的加载不影响它后面语句的运行。所有依赖这个模块的语句,都定义在一个回调函数中,等到加载完成之后,这个回调函数才会运行。 AMD也采用require()语句加载模块,但是不同于CommonJS。 主要有两个Javascript库实现了AMD规范:require.js和curl.js。

AMD 是 RequireJS 在推广过程中对模块定义的规范化产出。

CMD 是 SeaJS 在推广过程中对模块定义的规范化产出。

区别: 

①对于依赖的模块,AMD 是提前执行,CMD 是延迟执行。

②CMD 推崇依赖就近,AMD 推崇依赖前置。

2、下列不属于javascript内置对象的是

Math

Date

RegExp

Window

Error

答案:D

解:JS中对象分为三种:内置对象、宿主对象、自定义对象

①内部对象包括Array、Boolean、Date、Function、Global、Math、Number、Object、RegExp、String以及各种错误类对象,包括Error、EvalError、RangeError、ReferenceError、SyntaxError和TypeError。

②宿主对象就是执行JS脚本的环境提供的对象。对于嵌入到网页中的JS来说,其宿主对象就是浏览器提供的对象,所以又称为浏览器对象,如IE、Firefox等浏览器提供的对象。不同的浏览器提供的宿主对象可能不同,即使提供的对象相同,其实现方式也大相径庭!这会带来浏览器兼容问题,增加开发难度。浏览器对象有很多,如Window和Documen,Element,form,image,等等。

3、以下js表达式返回false的是()

1==true

“”==false

false==null

null==undefined

答案:C

解:==的特殊情况:

console.log(false==null) //false

console.log(undefined==0) //false

console.log(null==0) //false

console.log(undefined==false) //false

==和!=这两个操作符都会先转换操作数(强制转型),转换为number类型;但undefined和null不能转换成其他任何值。

4、白屏时间first paint 和可交互时间dom ready的关系是?

先触发first paint,后触发dom ready

先触发dom ready,后触发first paint

一起触发

没关系

答案:A

解:页面的性能指标详解:

白屏时间(first Paint Time)——用户从打开页面开始到页面开始有东西呈现为止 

首屏时间——用户浏览器首屏内所有内容都呈现出来所花费的时间 

4000
用户可操作时间(dom Interactive)——用户可以进行正常的点击、输入等操作,默认可以统计dom ready时间,因为通常会在这时候绑定事件操作 

总下载时间——页面所有资源都加载完成并呈现出来所花的时间,即页面 onload 的时间

5、下列函数哪些是JavaScript的全局函数?

encodeURI

parseFloat

setTimeout

Eval

答案:BD

解:JavaScript 中包含以下 7 个全局函数,用于完成一些常用的功能:

escape( )、eval( )、isFinite( )、isNaN( )、parseFloat( )、parseInt( )、unescape( )。

6、Ajax 编程中所使用的Javascript对象是什么?怎么去创建它?如何取服务器响应给客户端的XML对象信息?

XMLHttpRequest对象用于在后台与服务器交换数据。创建 XMLHttpRequest 对象的语法:

xhr=new XMLHttpRequest(); 

通过返回的response消息获取返回数据

7、以下描述错误的是

cookie以及localstorage都会伴随着http请求发送到服务器

get提交的url会有长度的限制,而post提交的数据则可以比较大

在javascript中可以操作cookie

javascript在浏览器的执行是单线程的

html5中的新增存储方式包括localstorage/sessionsTORAGE

答案:A,localstorage不能伴随着http请求发给服务器

解:sessionStorage 、localStorage 和 cookie 之间的区别 共同点:都是保存在浏览器端,且同源的。

区别: 

1:cookie数据始终在同源的http请求中携带(即使不需要),即cookie在浏览器和服务器间来回传递。而sessionStorage和localStorage不会自动把数据发给服务器,仅在本地保存。cookie数据还有路径(path)的概念,可以限制cookie只属于某个路径下。 

2:存储大小限制也不同,cookie数据不能超过4k,同时因为每次http请求都会携带cookie,所以cookie只适合保存很小的数据,如会话标识。sessionStorage和localStorage 虽然也有存储大小的限制,但比cookie大得多,可以达到5M或更大。 

3:数据有效期不同,sessionStorage:仅在当前浏览器窗口关闭前有效,自然也就不可能持久保持;localStorage:始终有效,窗口或浏览器关闭也一直保存,因此用作持久数据;cookie只在设置的cookie过期时间之前一直有效,即使窗口或浏览器关闭。 

4:作用域不同,sessionStorage不在不同的浏览器窗口间共享,即使是同一个页面;localStorage在所有同源窗口中都是共享的;cookie也是在所有同源窗口中都是共享的。 

5:Web Storage支持事件通知机制,可以将数据更新的通知发送给监听者。 

6:Web Storage 的 api 接口使用更方便

8、请阅读以下代码:

var obj = {};

obj.log = console.log;

obj.log.call(console,this);

该代码在浏览器中执行,输出的日志结果是什么?

window

console

obj

undefined

答案;A

解:将console的log方法复制给对象obj,对象obj的log方法绑定了其作用域为console,所以this指向了console作用域中,故输出为window

8、(function(x){

    delete x;

    return x;

})(1);运行结果是多少

代码错误

null

undefined

1

答案:A

解:delete只能删除对象的属性,此处x是函数形参,是个变量。

9、var str='what is this';

var x=str.search('is');

执行上面的代码, x 的值是:

1

5

6

7

4

答案:B

解:search() 方法用于检索字符串中指定的子字符串,或检索与正则表达式相匹配的子字符串。

stringObject.search(regexp)

返回stringObject中第一个与regexp相匹配的子串的起始位置。

如果没有找到任何匹配的子串,则返回-1.

10、

var A={n:4399};

var B=function(){
this.n=9999;

};

var C=function(){
var n=8888;

};

B.prototype=A;

C.prototype=A;

var b=new B();

var c=new C();

A.n++;

console.log(b.n);

console.log(c.n);

以上代码,在浏览器中执行的结果是

9999 8889

10000 8888

4400 8889

9999 4400

4400 4400

答案:D

解:B是A的实例,C也是A的实例;b是B的实例,c是C的实例;

当var b=new B()时B中的this指向了b,b.n=9999;

当var c=new C()时,c并没有n属性,至于C中的var n=8888只是C的私有属性,并没有绑定到c上。所以c.n会沿着原型链向上找,得到n=4399;

又A.n++,即c.n=4400;

11、下列关于JavaScript的说法中正确的是()

所有变量在使用之前必须做声明

JavaScript是面向对象的程序设计语言

JavaScript是解释性语言

JavaScript前身是Oak语言

答案:C

解:JS是弱类型语言,可以使用没有声明的变量;

JS面向对象并不严格,面向对象要支持"多态,封装,继承"三大特性,JS支持的不是很好;

Java的前身是Oak语言。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: