首页 > IT问答库 > Web全栈开发 > Web前端求职者该如何面试?JS相关面试题有哪些?

Web前端求职者该如何面试?JS相关面试题有哪些?

  Web前端求职者该如何面试?JS相关面试题有哪些?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前端开发行列,可以选择专业学习一下,让自己高效率的学习、更能快速上岗拿高薪!
可分享到:
上一篇 : Web前端工程师要懂什么?MySQL使用技巧有哪些?
下一篇 : 自学Web前端可以学会吗?专业学习有哪些优势?
你可能感兴趣的内容|INTERESTING NEWS

限时优惠
本周申请限100个名额