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

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)——用户从打开页面开始到页面开始有东西呈现为止 
首屏时间——用户浏览器首屏内所有内容都呈现出来所花费的时间 
用户可操作时间(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语言。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

明致成

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值