Web前端求职之JavaScript面试题及答案
JavaScript(简称“JS”) 是一种具有函数优先的轻量级、解释型或即时编译型的编程语言。JavaScript是前端三要素之一,也是很多同学在前端学习路上遭遇的第一条拦路虎。不过即使JavaScript学习不易,但我们仍然要学好它,因为企业招聘时都会考察求职者对JavaScript掌握程度。接下来千锋郑州小编就给大家分享一下JavaScript面试题及答案。
1、JavaScript中undefined和not defined的区别
JavaScript未声明变量直接使用会抛出异常:var name is not defined,如果没有处理异常,代码就停止运行了。
但是,使用typeof undeclared_variable并不会产生异常,会直接返回undefined。
var x; // 声明 x
console.log(x); //output: undefined
console.log(typeof y); //output: undefined
console.log(z); // 抛出异常: ReferenceError: z is not defined
2、var f = function g(){ return 23; };
typeof g();//报错
这是一个名字是g的function expression,然后又被赋值给了变量f。
这里的函数名g和被其赋值的变量f有如下差异:
函数名g不能变动,而变量f可以被重新赋值;
函数名g只能在函数体内部被使用,试图在函数外部使用g会报错的。
3、怎么判断一个object是否是数组(array)?
方法1:使用Object.prototype.toString来判断是否是数组
function isArray(obj){
return Object.prototype.toString.call( obj ) === '[object Array]';
}
这里使用call来使toString中this指向obj,进而完成判断
方法2:使用原型链来完成判断
function isArray(obj){
return obj.__proto__ === Array.prototype;
}
基本思想是利用实例如果是某个构造函数构造出来的那么它的__proto__是指向构造函数的 prototype属性。
方法3:利用JQuery
function isArray(obj){
return $.isArray(obj)
}
JQuery isArray的实现其实就是方法1。
4、JavaScript怎么清空数组?
如var arrayList=['a','b','c','d','e','f'];
怎么清空arrayList
方法1:
arrayList=[];
直接改变arrayList所指向的对象,原对象并不改变。
方法2:
arrayList.length=0;
这种方法通过设置length=0使原数组清除元素。
方法3
arrayList.splice(0, arrayList.length);
和方法2相似。
5、减少页面加载时间的方法。
1、优化图片
2、图像格式的选择。GIF:提供的颜色较少,可用在一些对颜色要求不高的地方。
3、优化CSS。压缩合并css,如margin-top、margin-left...
4、网址后加斜杠。这样就能判断这个“目录是什么文件类型,或者是目录。
5、标明高度和宽度。如果浏览器没有找到这两个参数,它需要一边下载图片一边计算大小,如果图片很多,浏览器需要不断地调整页面。这不但影响速度,也影响浏览体验。当浏览器知道了高度和宽度参数后,即使图片暂时无法显示,页面上也会腾出图片的空位,然后继续加载后面的内容。从而加载时间快了,浏览体验也更好了。
6、减少http请求。合并文件、合并图片。
6、如何优化网页的打印样式?
其中media指定的属性就是设备,显示器上就是screen,打印机则是print,电视是tv,投影仪是projection。打印样式示例如下:
但打印样式表也应注意以下事项:
打印样式表中最好不要用背景图片,因为打印机不能打印CSS中的背景。如要显示图片,请使用html插入到页面中。
最好不要使用像素作为单位,因为打印样式表要打印出来的会是实物,所以建议使用pt和cm。
隐藏掉不必要的内容。(@print div{display:none;})
打印样式表中最好少用浮动属性,因为它们会消失。如果想要知道打印样式表的效果如何,直接在浏览器上选择打印预览就可以了。
7、严格模式(strict mode)
严格模式用于标准化正常的JavaScript语义。严格模式可以嵌入到非严格模式中,关键字 ‘use strict’。使用严格模式后的代码应遵循JS严格的语法规则。例如,分号在每个语句声明之后使用。
想了解更多JavaScript面试题,想快速加入Web前端开发行列,可以选择专业学习一下,让自己高效率的学习、更能快速上岗拿高薪!
猜你喜欢LIKE
最新文章NEW
相关推荐HOT
更多>>热门推荐
如何在面试中得高分?一般要注意哪些方面
沸UI设计师如何应对面试?哪些细节不可忽略
热求职者如何应对面试?需要特别注意什么
热Java面试必问什么技术?如何搞定Spring框架
新求职过程中如何抓住机遇?要注意哪些要点
郑州Web前端培训之JavaScript面试题推荐
郑州云计算培训机构之常见面试题及答案
如何开始求职生涯?个人简历有哪几种类型
初入职场大学生如何应对?怎么规避职场风险
企业对Python人才的招聘需求有哪些?
职场新人如何找到适合自己性格的工作?
大学生如何尽快获得职位?需要注意哪几点
毕业生如何应对求职?推荐10条参考标准
常见UI设计面试题有哪些?郑州UI培训好不