前端JS基础面试技巧

第一章 课程简介

拿到一个面试题,你第一时间看到的是什么? 考点

又如何看待网上搜出来的永远看不完的题海? 以不变应万变

如何对待接下来遇到的面试题? 题目到知识再到题目

第二章 JS基础知识(上)

变量类型

值类型VS引用类型

引用类型:对象、数组、函数

强制类型转换

字符串拼接

==运算符

Eg:

100 == ‘100’// true  

0 == ‘’// true

null == undefined //true

if语句

逻辑运算符

问题:JS中使用typeof能得到的那些类型

typeof undefined  // undefined

typeof ‘abc’ //string

typeof 123 //number

typeof true // boolean

typeof {} // object

typeof [] // object

typeof null // object

typeof console.log // function

问题:何时使用===何时使用==

If(obj.a == null){

//这里相当于obj.a === null || obj.a == undefined ,简写形式

//这里是jquery源码中推荐的写法
}

问题:JS中有哪些内置函数 -数据封装对象

Object、Array、Boolean、Number、String、Function、Date、RegExp、Error

问题:JS变量按照存取方式区分哪些类型?

值类型 引用类型

问题:如何理解JSON

JSON只不过是JS对象而已

JSON.stringify({a:10,b:20})

JSON.parse('{"a":20,"10":20}')

原型和原型链

构造函数

构造函数 - 扩展

var a = {}   -   var a = new Object()

var a = []   -   var a = new Array()

function Foo(){ ... } -   var Foo = new Function( ... )

推荐使用前面的书写方式,不论从易读性和性能上看。

使用instance of判断一个函数是否是一个变量的构造函数

判断一个变量是否为“数组”:变量instance of

原型规则和示例

1.所有的引用类型(数组、对象、函数),都具有对象特性,即可自由扩展属性(除了“null”之外)。

2.所有的引用类型(数组、对象、函数),都具有一个—proto(隐式原型)属性,属性值是一个普通的对象。

3.所有的函数,都有一个prototype(显示原型)属性,属性值是一个普通的对象。

4.所有的引用类型(数组、对象、函数),proto属性值指向它的构造函数的“prototype”属性值。

5.当试图得到一个对象的属性时,如果这个对象本身没有这个属性,那么会去它的的proto(即它的构造函数的prototype)中寻找。

循环对象自身的属性

原型链

Instance of

用于判断引用类型属于哪个构造函数的方法

解题

第三章 JS基础知识(中)

作用域和闭包

知识点

执行上下文

This

作用域

作用域链

闭包

执行上下文

范围:一段

加载一个资源的过程

1.浏览器根据DNS服务器得到域名的IP地址

2.向这个IP的机器发送http请求

3.服务器收到、处理并返回http请求

4.浏览器得到返回内容

浏览器渲染页面的过程

1.根据HTML结构生成DOM Tree

2.根据CSS生成CSSOM

3.将DOM和CSSOM整合形成Render Tree

4.根据Render Tree开始渲染和展示

5.遇到

你可能感兴趣的:(前端JS基础面试技巧)