码迷,mamicode.com
首页 > Web开发 > 详细

前端面试题 -- JS篇

时间:2016-05-13 17:16:32      阅读:208      评论:0      收藏:0      [点我收藏+]

标签:

类型

1.js中有哪些数据类型,并解释清楚原始数据类型和引用数据类型

js中共有null,undefined, string,number,boolean,object六种数据类型。

原始数据类型: null,undefined, string,number,boolean

引用数据类型:object

两者的区别:

1)值存储方式不同:

原始数据类型:将变量名和值都存储在栈内存中

引用数据类型:将变量名存储在栈内存中,将值存储在堆内存中,并在栈内存中存储值的地址,该地址指向堆内存中的值。

技术分享

2)赋值方式不同:

给一个变量赋予另一个变量的值

若值为原始数据类型,直接在栈内存中生成值,两个变量以后进行值改变不会相互影响

若值为引用数据类型,赋予变量的是值地址,通过这个地址,两者指向的其实是堆内存中的同一个值,某个变量对值进行改变,会直接影响另一个变量的值

 技术分享

2. 解释清楚 null 和 undefined

null表示一个标识被赋值了,且该标识赋值为“空值”,从逻辑角度来看,null值表示空对象指针

undefined表示声明了标识,但没有给标识赋值。

3. 如何复制一个引用类型的值?

4. js在什么时候会进行隐式类型转换,转换的结果?

5. 类型识别的方法?

typeof: 例子:(typeof 1 返回结果:"number"  typeof new Array() 返回结果:"object")可识别标准类型,除了null之外。不能识别具体的对象类型,除了function之外。

instanceof:例子:([] instanceof Array 返回结果:true   ‘a‘ instanceof String  返回结果:false)可以判别内置对象类型,不能判断原始类型值

constructor:例子(‘123‘.constructor == String 返回结果:true)

Object.prototype.toString.call:例子(Object.prototype.toString.call(1) 返回结果:"[object Number]" )可以识别标准数据类型和内置对象类型。不能识别自定义对象类型

 

 

原型

1. 讲一下 prototype 是什么东西,原型链的理解,什么时候用 prototype

 

前端面试题 -- JS篇

标签:

原文地址:http://www.cnblogs.com/ofey/p/5488996.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!