前端面试知识点InterviewMap
文章平均质量分 62
guoguole_粿粿乐
啦啦啦,哈哈哈,略略略
展开
-
js的内置类型和类型转换
1、内置类型:两大类型:基本类型(null,undefined,boolean,number,string,symbol)和引用类型([ ]、{ })注意点:NaN 也属于 number 类型,并且 NaN 不等于自身。对象(Object)是引用类型,在使用过程中会遇到浅拷贝和深拷贝的问题。2、Typeof:typeof 对于基本类型,除了 null 都可以显示正确的类型。ty...原创 2018-07-26 16:28:57 · 447 阅读 · 0 评论 -
深入剖析 JavaScript 的深浅拷贝
let a = { age: 1}let b = aa.age = 2console.log(b.age) // 2从上述例子中我们可以发现,如果给一个变量赋值一个对象,那么两者的值会是同一个引用,其中一方改变,另一方也会相应改变。通常在开发中我们不希望出现这样的问题,我们可以使用浅拷贝来解决这个问题。浅拷贝:1、使用 Object.assign let ...原创 2018-07-26 18:32:38 · 210 阅读 · 0 评论 -
深入解剖JS 中只有按值传递,没有按地址(引用)传递
数字、字符串:把值直接复制进去;数组、对象:把变量地址复制进去。ECMAScript 中,所有函数的参数都是按值来传递的。基本类型值的传递和基本类型变量复制一致(采用在栈内新建值),引用类型值的传递和引用类型变量的复制一致(栈内存放的是指针,指向堆中同一对象)1.基本类型的传递//在基本类型参数传递的时候,是复制栈帧的拷贝操作。外部声明的变量num和函数参数的num,拥有完全相同...原创 2018-07-27 17:49:27 · 548 阅读 · 3 评论 -
一张图理解JS的原型(prototype、_proto_、constructor的三角关系)
注意:前方高能预警,请认真仔细看完,阅读完后自己再次画下原型图,相信你一定会有更深刻的认识。(推荐炒鸡好用的画流程图的软件ProcessOn)构造函数:function Foo ( ) { };实例对象:let f1=new Foo; let o1=new Foo;每个函数都有 prototype 属性,除了 Function.prototype.b...原创 2018-08-12 00:43:25 · 3655 阅读 · 2 评论 -
构造函数用new创建实例化对象时,是否带括号在这种情况存在优先级
function Foo() { return this;}Foo.getName = function () { console.log('1');};Foo.prototype.getName = function () { console.log('2');};new Foo.getName(); // -> 1new Foo().getN...原创 2018-08-12 19:49:52 · 649 阅读 · 2 评论 -
为什么 ["1", "2", "3"].map(parseInt) 返回 [1,NaN,NaN]?
在 javascript 中 ["1","2","3"].map(parseInt) 为何返回不是 [1,2,3] 却是 [1,NaN,NaN]?我们使用进制的相关知识来解释说明,如果你看完还是没有很清楚,可以自己去了解一些进制的相关知识。我们首先回顾一下 parseInt() 个 map() 两个函数的用法:1、parseInt() 函数: parseInt() 函数可解析一个字符串...原创 2018-08-14 01:04:10 · 758 阅读 · 0 评论