JS面试题(二)

简介: JS面试题

16. 数据类型检测的方式有哪些


1==>typeof 对数组、对象、null都会被判断为object。


其他判断都正确。


所以typeof判断基本数据类型。

console.log(typeof 2) //number
console.log(typeof null);// object

2==>instanceof能正确判断引用数据类型

console.log(2 instanceof Number);// false

3.constructor有两个作用,


一是判断数据的类型。


二是对象实例通过 constrcutor 对象访问它的构造函数。


需要注意,如果创建一个对象来改变它的原型。


constructor就不能用来判断数据类型了:


console.log((2).constructor === Number); // true
4.Object.prototype.toString.call()
Object.prototype.toString.call()使用Object对象的原型方法 toString 来判断数据类型:
var a = Object.prototype.toString;
console.log(a.call(2)); //[object Number]

17typeof null 的结果是什么,为什么?我的理解


typeof null 的结果是Object。


因为:在 JavaScript 第一个版本中,


所有值都存储在 32 位的单元中


每个单元包含一个【小的类型标签】和当前要存储值的【真实数据】


{000: object   - 当前存储的数据指向一个对象。你的理解}


object的标签类型是000


null 的值是机器码 NULL 指针(null 指针的值全是 0)


和Object的类型标签一样,所以会被判定为Object。


19 typeof NaN 的结果是什么?


typeof NaN; // "number"


20 解释一下NaN,或者你对NaN的理解


NaN是一个非数字类型的Number类型。不是一个明确的值。


在“执行数学运算没有成功,这是失败后的结果”。


如果时间运算失败的情况会出现NaN.


在ios的移动时间是 2012-12-12 12:12:12在进行元素的时候可能返回NaN


21 解释一下什么是 promise ?


promise是js中的一个对象,用于生成[可能在将来]产生结果的值。  


promise 可以有三种状态:


1.pending:初始状态,既不是成功也不是失败


2.fulfilled:意味着操作完全成功 [fu fei old]


3.rejected:意味着操作失败 [ rejected ]


在使用的时候,new Promise,在Promise中有两个参数resolve, reject,


他们既是参数也是函数。resolve处理成功。reject处理失败的。

相关文章
|
JSON JavaScript 前端开发
Javascript基础 86个面试题汇总 (附答案)
该文章汇总了JavaScript的基础面试题及其答案,涵盖了JavaScript的核心概念、特性以及常见的面试问题。
483 3
|
8月前
|
自然语言处理 JavaScript 前端开发
当面试官再问我JS闭包时,我能答出来的都在这里了。
闭包(Closure)是前端面试中的高频考点,广泛应用于函数式编程中。它不仅指函数内部定义的函数,还涉及内存管理、作用域链和垃圾回收机制。闭包可以让函数访问其外部作用域的变量,但也可能引发内存泄漏等问题。通过合理使用闭包,可以实现模块化、高阶函数和回调函数等应用场景。然而,滥用闭包可能导致代码复杂度增加、调试困难以及潜在的性能问题。为了避免这些问题,开发时应谨慎处理闭包,避免不必要的嵌套,并及时清理不再使用的变量和监听器。
327 16
当面试官再问我JS闭包时,我能答出来的都在这里了。
|
前端开发 JavaScript
JavaScript 面试系列:如何理解 ES6 中 Generator ?常用使用场景有哪些?
JavaScript 面试系列:如何理解 ES6 中 Generator ?常用使用场景有哪些?
|
JavaScript 前端开发
常见的JS面试题
【8月更文挑战第5天】 常见的JS面试题
166 3
|
存储 JavaScript 前端开发
2022年前端js面试题
2022年前端js面试题
240 57
|
12月前
|
Web App开发 JavaScript 前端开发
前端Node.js面试题
前端Node.js面试题
|
JavaScript 前端开发 程序员
JS小白请看!一招让你的面试成功率大大提高——规范代码
JS小白请看!一招让你的面试成功率大大提高——规范代码
|
JavaScript 前端开发 UED
小白请看! 大厂面试题 :如何用JS实现瀑布流
小白请看! 大厂面试题 :如何用JS实现瀑布流
|
存储 JavaScript 前端开发
JS浅拷贝及面试时手写源码
JS浅拷贝及面试时手写源码
|
JavaScript 前端开发
JS:类型转换(四)从底层逻辑让你搞懂经典面试问题 [ ] == ![ ] ?
JS:类型转换(四)从底层逻辑让你搞懂经典面试问题 [ ] == ![ ] ?

热门文章

最新文章