前端面试中常见的几个问题

在前端很少有机会接触到算法,大多都交互性的操作,然而从各大公司面试来看,算法依旧是考察的一方面。下面这篇文章就给大家总结了在前端JS面试中常见的测试题问题,有需要的朋友们可以参考借鉴,下面来一起看看吧。

学习数据结构与算法对于工程师去理解和分析问题都是有帮助的。如果将来当我们面对较为复杂的问题,这些基础知识的积累可以帮助我们更好的优化解决思路。下面罗列在前端面试中经常撞见的几个问题吧。
image.png
1、介绍js的基本数据类型

Undefined、Null、Boolean、Number、String

2、s有哪些内置对象?

数据封装类对象:Object、Array、Boolean、Number 和 String

其他对象:Function、Arguments、Math、Date、RegExp、Error

3.this对象的理解

this总是指向函数的直接调用者(而非间接调用者);

如果有new关键字,this指向new出来的那个对象;

在事件中,this指向触发这个事件的对象,特殊的是,IE中的attachEvent中的this总是指向全局对象Window;

4.eval是做什么的?

它的功能是把对应的字符串解析成JS代码并运行;

应该避免使用eval,不安全,非常耗性能(2次,一次解析成js语句,一次执行)。

由JSON字符串转换为JSON对象的时候可以用eval,var obj =eval(‘(‘+ str +’)’);

5.DOM怎样添加、移除、移动、复制、创建和查找节点

// 创建新节点

createDocumentFragment() //创建一个DOM片段

createElement() //创建一个具体的元素

createTextNode() //创建一个文本节点

// 添加、移除、替换、插入

appendChild()

removeChild()

replaceChild()

insertBefore() //在已有的子节点前插入一个新的子节点

// 查找

getElementsByTagName() //通过标签名称

getElementsByName() //通过元素的Name属性的值(IE容错能力较强,会得到一个数组,其中包括id等于name值的)

getElementById() //通过元素Id,唯一性

6.null和undefined的区别?

null是一个表示”无”的对象,转为数值时为0;undefined是一个表示”无”的原始值,转为数值时为NaN。

undefined:

(1)变量被声明了,但没有赋值时,就等于undefined。

(2) 调用函数时,应该提供的参数没有提供,该参数等于undefined。

(3)对象没有赋值的属性,该属性的值为undefined。

(4)函数没有返回值时,默认返回undefined。

null:

(1) 作为函数的参数,表示该函数的参数不是对象。

(2) 作为对象原型链的终点。

7.new操作符具体干了什么呢?

(1)创建一个空对象,并且 this 变量引用该对象,同时还继承了该函数的原型。

(2)属性和方法被加入到 this 引用的对象中。

(3)新创建的对象由 this 所引用,并且后隐式的返回 this 。

8.JSON 的了解?

JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。它是基于JavaScript的一个子集。数据格式简单, 易于读写, 占用带宽小。

格式:采用键值对,例如:{‘age’:’12’, ‘name’:’back’}

9.call() 和 apply() 的区别和作用?

apply()函数有两个参数:第一个参数是上下文,第二个参数是参数组成的数组。如果上下文是null,则使用全局对象代替。

如:function.apply(this,[1,2,3]);

call()的第一个参数是上下文,后续是实例传入的参数序列。

如:function.call(this,1,2,3);

10.如何获取UA?

function whatBrowser() {

document.Browser.Name.value=navigator.appName;

document.Browser.Version.value=navigator.appVersion;

document.Browser.Code.value=navigator.appCodeName;

document.Browser.Agent.value=navigator.userAgent;

“我自己是一名从事了5年前端的老程序员,辞职目前在做讲师,今年年初我花了一个月整理了一份最适合2019年学习的web前端干货,从最基础的HTML+CSS+JS到移动端HTML5到各种框架都有整理,送给每一位前端小伙伴,这里是小白聚集地,欢迎初学和进阶中的小伙伴。"

加QQ群:645199623(招募中)

原文地址:https://www.cnblogs.com/QDPYY/p/10479498.html

时间: 2024-11-06 12:11:19

前端面试中常见的几个问题的相关文章

前端面试中的常见的算法问题

虽说我们很多时候前端很少有机会接触到算法.大多都交互性的操作,然而从各大公司面试来看,算法依旧是考察的一方面.实际上学习数据结构与算法对于工程师去理解和分析问题都是有帮助的.如果将来当我们面对较为复杂的问题,这些基础知识的积累可以帮助我们更好的优化解决思路.下面罗列在前端面试中经常撞见的几个问题吧. Q1 判断一个单词是否是回文? 回文是指把相同的词汇或句子,在下文中调换位置或颠倒过来,产生首尾回环的情趣,叫做回文,也叫回环.比如 mamam redivider . 很多人拿到这样的题目非常容易

程序员面试中常见10大算法汇总

以下是在编程面试中排名前10的算法相关的概念,我会通过一些简单的例子来阐述这些概念.由于完全掌握这些概念需要更多的努力,因此这份列表只是作为一个介绍.本文将从Java的角度看问题,包含下面的这些概念: 1. 字符串 如果IDE没有代码自动补全功能,所以你应该记住下面的这些方法. 1 2 3 4 5 6 toCharArray() // 获得字符串对应的char数组 Arrays.sort() // 数组排序 Arrays.toString(char[] a) // 数组转成字符串 charAt(

前端面试中,回答不出的那些问题

前两天电话面试了一个公司的前端,差不多问题都能回答出一点,但是一旦向下深挖,就不会了,还是自身基础打得不够啊,怕以后面试还是会遇到这些个问题,所以就觉得把面试官问我的,我回答不上来的,且现在还记得问题记录一下,方便以后巩固复习,顺便分享给面试的小伙伴 1. 深度拷贝和浅度拷贝了解过吗,是否可以说一下 当时回答:了解过,浅度拷贝的话,拷贝的如果是基本数据类型的话,他就会原样拷贝,如果拷贝的时引用数据类型,比如说对象,数组,函数这类的,他只能拷贝他的应用地址,所以拷贝完成,修改引用数据类型里面的数据

前端开发中常见的HTML5标签乱用案例

一.不要使用section作为div的替代品 人们在标签使用中最常见到的错误之一就是随意将HTML5的<section>等价于<div>——具体地说,就是直接用作替代品(用于样式).在XHTML或者HTML4中,我们常看到这样的代码: 12345678910111213141516 <!-- HTML 4-style code --><div id="wrapper">  <div id="header">

iOS面试中常见的算法题目

一.前言 这里是在iOS求职中自己遇到的算法题,希望对大家有所帮助.不定期更新.如果大家想在线运行代码调试,可以将代码拷贝到这里.然后进行调试.下面就是常见的算法题目. 二.正文 1.就n的阶乘. 思路:这里面用递归实现 #include <stdio.h> int getNJ(int n) { if (n==1 || n==0) { return 1; } return n*getNJ(n-1); } int main() { printf("%d",getNJ(10))

面试中常见的算法之Java中的递归

1.方法定义中调用方法本身的现象2.递归注意实现 1) 要有出口,否则就是死递归 2) 次数不能太多,否则就内存溢出 3) 构造方法不能递归使用3.递归解决问题的思想和图解: 分解和合并[先分解后合并] 1. 常见的斐波那契数列 1,1,2,3,5,8,13,21,...特征: 从第三个数开始,每个数是前两个数的和. int count = 0; private int getFibo(int i) { if (i == 1 || i == 2) { count = count+1; Syste

面试中常见算法1

Problem 1 : Is it a loop ? (判断链表是否有环?) Assume that wehave a head pointer to a link-list. Also assumethat we know the list is single-linked. Can you come up an algorithm to checkwhether this link list includes a loop by using O(n) time and O(1) space

前端开发中常见的一下漏洞bug

1.IE6下横向双倍margin bug (触发条件:块属性标签:float:横向margin设置:IE6下.解决办法:css中加入display:inline.) 2.css中公用属性首先声明:如对浏览器对某些标签有默认的margin 和padding 值首先声明默认值为0. 3.css中class类名必须有实际的意义,必须与内容相关:不得用纯数字用于class类名. 4.IE6下标签嵌套时,如果内层标签float,只有清除内层标签的浮动后外层标签才能被撑开. 5.清除浮动时用div而不用其它

HTML5面试中常见的十个问题

1.新的 HTML5 文档类型和字符集是? HTML5 文档类型很简单:<!doctype html> HTML5 使用 UTF-8 编码示例:<meta charset="UTF-8″> 2.HTML5 废弃了哪些 HTML4 标签? HTML5 废弃了一些过时的,不合理的 HTML 标签: frame frameset noframe applet big center basefront 3.HTML5 有哪些新增的表单元素? HTML5 新增了很多表单元素让开发者