美文网首页
前端JavaScript面试技巧

前端JavaScript面试技巧

作者: 伯纳乌的追风少年 | 来源:发表于2018-01-26 16:04 被阅读0次

    导读

    请搭配导图一起看

    这里写图片描述

    举例面试题:

    这里写图片描述 这里写图片描述 这里写图片描述

    变量类型和变量计算

    几种基本数据类型?复杂数据类型?值类型和引用数据类型?堆栈数据结构?

    基本数据类型:Undefined、Null、Boolean、Number、String
    值类型:数值、布尔值、null、undefined。
    引用类型:对象、数组、函数。
    堆栈数据结构:是一种支持后进先出(LIFO)的集合,即后被插入的数据,先被取出!
    js数组中提供了以下几个方法可以让我们很方便实现堆栈:
    shift:从数组中把第一个元素删除,并返回这个元素的值。
    unshift: 在数组的开头添加一个或更多元素,并返回新的长度
    push:在数组的中末尾添加元素,并返回新的长度
    pop:从数组中把最后一个元素删除,并返回这个元素的值。

    这里写图片描述 这里写图片描述

    JS内置函数

    • 内置函数Object,Array,Boolean,Number,String,Function,Date,RegExp,Error
    • 内置对象Math,JSON…..
    这里写图片描述 这里写图片描述 这里写图片描述

    值类型和引用类型

    • 值类型:数值、布尔值、null、undefined。
    • 引用类型:对象、数组、函数。
    这里写图片描述

    What the fuck is JSON?

    对象是一个无序的“‘名称/值’对”集合。一个对象以“{”(左括号)开始,“}”(右括号)结束。每个“名称”后跟一个“:”(冒号);“‘名称/值’ 对”之间使用“,”(逗号)分隔。
    https://zh.wikipedia.org/wiki/JSON
    http://www.json.org/json-zh.html

    这里写图片描述

    原型和原型链-构造函数问题

    这里写图片描述

    instanceof的妙用

    object instanceof constructor
    instanceof 运算符用来检测 constructor.prototype 是否存在于参数 object 的原型链上。

    这里写图片描述

    typeof无法判断数组

    这里写图片描述

    new对象过程

    这里写图片描述 这里写图片描述

    原型链继承

    这里写图片描述 这里写图片描述

    原型规则(隐式原型和显式原型)

    这里写图片描述 这里写图片描述 这里写图片描述

    原型链继承例子

    这里写图片描述

    zepto原型链

    这里写图片描述

    链式操作

    这里写图片描述

    作用域和闭包-执行上下文

    这里写图片描述

    变量(自由变量)

    这里写图片描述

    this

    这里写图片描述

    作用域

    这里写图片描述

    确定点击按钮的作用域

    这里写图片描述

    立即函数

    ( function(){…} )()和( function (){…} () )是两种javascript立即执行函数的常见写法
    模仿一个私有作用域,用匿名函数作为一个“容器”,“容器”内部可以访问外部的变量,而外部环境不能访问“容器”内部的变量,所以( function(){…} )()内部定义的变量不会和外部的变量发生冲突,俗称“匿名包裹器”或“命名空间”。
    函数声明和函数表达式不同之处在于,一、Javascript引擎在解析javascript代码时会‘函数声明提升’(Function declaration Hoisting)当前执行环境(作用域)上的函数声明,而函数表达式必须等到Javascirtp引擎执行到它所在行时,才会从上而下一行一行地解析函数表达式,二、函数表达式后面可以加括号立即调用该函数,函数声明不可以,只能以fnName()形式调用 。
    匿名函数属于函数表达式
    JQuery使用的就是这种方法,将JQuery代码包裹在( function (window,undefined){…jquery代码…} (window)中,在全局作用域中调用JQuery代码时,可以达到保护JQuery内部变量的作用。
    http://www.jb51.net/article/50967.htm

    这里写图片描述

    闭包

    这里写图片描述 这里写图片描述

    异步和单线程

    这里写图片描述

    同步和异步

    这里写图片描述

    异步场景

    这里写图片描述 这里写图片描述 这里写图片描述

    setTimeout过程

    这里写图片描述 这里写图片描述

    JS-Web-API

    这里写图片描述

    获取时间

    这里写图片描述 这里写图片描述

    数组API

    这里写图片描述

    遍历数组和对象

    使用if判断数组(for,forEach)和对象(for in)


    这里写图片描述

    对象API

    这里写图片描述 这里写图片描述

    随机数(长度一定)

    这里写图片描述

    Dom

    这里写图片描述
    • Dom操作常用API

    • 获取Dom节点getElementById

      • 获取父元素 parentElement
      • 获取子元素 childNodes
    • 新增节点appendChild

    • 创建元素createElement

    • 删除节点 removeChild

    这里写图片描述

    JS中Attribute 和prototype 的区别是一个是标签属性 一个是对象属性

    这里写图片描述

    网络基础

    这里写图片描述 这里写图片描述

    图片懒加载

    这里写图片描述 这里写图片描述 这里写图片描述 这里写图片描述

    BOM

    这里写图片描述 这里写图片描述 这里写图片描述 这里写图片描述 这里写图片描述

    事件绑定

    这里写图片描述

    代理

    事件委托就是利用事件冒泡,只指定一个事件处理程序,就可以管理某一类型的所有事件。


    这里写图片描述

    冒泡

    这里写图片描述 这里写图片描述

    ajax请求(包括http协议)

    这里写图片描述 这里写图片描述 这里写图片描述

    js模块化

    这里写图片描述

    不使用模块化

    这里写图片描述 这里写图片描述

    export和require

    这里写图片描述

    requires.js

    这里写图片描述
    引入
    这里写图片描述 这里写图片描述

    CommonJS

    这里写图片描述

    webpack

    这里写图片描述 这里写图片描述

    相关文章

      网友评论

          本文标题:前端JavaScript面试技巧

          本文链接:https://www.haomeiwen.com/subject/bslwaxtx.html