千锋教育-做有情怀、有良心、有品质的职业教育机构

400-811-9990
手机站
千锋教育

千锋学习站 | 随时随地免费学

千锋教育

扫一扫进入千锋手机站

领取全套视频
千锋教育

关注千锋学习站小程序
随时随地免费学习课程

上海
  • 北京
  • 郑州
  • 武汉
  • 成都
  • 西安
  • 沈阳
  • 广州
  • 南京
  • 深圳
  • 大连
  • 青岛
  • 杭州
  • 重庆
当前位置:郑州千锋IT培训  >  面试技巧  >  Web前端求职之JavaScript面试题及答案

Web前端求职之JavaScript面试题及答案

来源:千锋教育
发布人:千锋郑州
时间: 2021-04-27 15:30:43

  JavaScript(简称“JS”) 是一种具有函数优先的轻量级、解释型或即时编译型的编程语言。JavaScript是前端三要素之一,也是很多同学在前端学习路上遭遇的第一条拦路虎。不过即使JavaScript学习不易,但我们仍然要学好它,因为企业招聘时都会考察求职者对JavaScript掌握程度。接下来千锋郑州小编就给大家分享一下JavaScript面试题及答案。

20181218114328

  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

更多>>

快速通道 更多>>

最新开班信息 更多>>

网友热搜 更多>>