js
十一T_T
这个作者很懒,什么都没留下…
展开
-
js判断对象是否为空对象方法:
1.将json对象转化为json字符串,再判断该字符串是否为"{}"let obj = {}console.log(JSON.stringify(obj) == "{}");//true2.forin 循环判断let obj = {}let b = function() { for(let key in obj) { return false; ...原创 2019-12-06 11:53:10 · 391 阅读 · 0 评论 -
JS 试题
1. 变量提升执行js代码时,会生成执行环境(全局执行环境、函数执行环境)。在省城执行环境时,会有两个阶段:创建阶段,js解析器会找出需要提升的变量和函数,并且给它们提前在内存中开辟好空间,函数的话会将整个函数存入到内存中,变量只声明并且赋值为undefined;在代码执行阶段,我们可以直接提前使用。函数优先于变量提升;let并不是不会提升,let提升了,第一阶段内存也为其开辟了空间,...原创 2019-11-21 11:54:03 · 450 阅读 · 0 评论 -
数组扁平化
数组扁平化概念:数组扁平化是指将一个多维数组变为一维数组。[1,[2,[3,[4,5,[6,7,[8,9],10],11],12,13],14] --------> 实现:1.reduce遍历数组每一项,若值为数组则递归遍历,否则cancat。function flatten(arr){ return arr.reduce((r...原创 2019-11-08 16:51:54 · 270 阅读 · 0 评论 -
JS函数式编程思维:柯里化、闭包
偏函数(Partial Application):探讨柯里化之前,我们先聊一聊很容易跟其混淆的另一个概念——偏函数(Partial Application)。在维基百科中,对 Partial Application 的定义是这样的:In computer science, partial application (or partial function application) refe...原创 2019-11-06 16:51:03 · 952 阅读 · 0 评论 -
JS函数式编程思维:无副作用、高阶函数
1.无副作用(No Side Effects)2.高阶函数(High-Order Function)简述:函数式编程的概念来自于数学中的函数,即自变量映射。中心思想是指:一个函数的返回值,仅仅依赖于参数的值,而不会因为其他外部的状态而不同。比如一个求幂的函数pow(base,exponent),它的计算结果仅仅依赖于base(基数)和exponent(指数)的不同而不同。这个函数无论我...原创 2019-11-05 15:34:53 · 482 阅读 · 0 评论 -
JavaScript -- 面试题
function Parent(){ this.a = 1; this.b=[1,2,this.a]; this.c={demo:5}; this.show =function(){console.log(this.a,this.b,this.c.demo); } } function Child()...原创 2019-06-28 19:27:06 · 219 阅读 · 0 评论 -
JS中的逻辑运算符&&、||,位运算符|,&
在javascript中:以下内容会被当成false处理:"" , false , 0 , null , undefined , NaN其他都是true。注意:字符串"false"也会被当做true处理,在未转型的情况下他是字符串,属于一个对象,所以是true。1、JS中的||符号:运算方法: 只要“||”前面为false,不管“||”后面是true还是false,都返回“||...原创 2019-07-08 19:25:36 · 955 阅读 · 0 评论 -
js 里面的键盘事件对应的键码
js 里面的键盘事件经常用到,所以收集了键盘事件对应的键码来分享下:keyCode 8 = BackSpace BackSpacekeyCode 9 = Tab TabkeyCode 12 = ClearkeyCode 13 = EnterkeyCode 16 = Shift_LkeyCode 17 = Control_LkeyCode 18 = Alt_LkeyCode 19 =...原创 2019-06-05 21:06:46 · 255 阅读 · 0 评论 -
前端面试(一)
JavaScript中如何检测一个变量是一个String类型?请写出函数实现function str(obj){ rerurn typeof(obj) == 'string'}function str(obj){ return obj.constructor === String}function type(data){ return Object.proto...原创 2019-06-04 14:14:43 · 1169 阅读 · 0 评论 -
面试--原生JS (二)
1.说一说JS异步发展史异步最早的解决方案是回调函数,如事件的回调,setInterval/setTimeout中的回调。但是回调函数有一个很常见的问题,就是回调地狱的问题(稍后会举例说明);为了解决回调地狱的问题,社区提出了Promise解决方案,ES6将其写进了语言标准。Promise解决了回调地狱的问题,但是Promise也存在一些问题,如错误不能被try catch,而且使用Promi...原创 2019-05-26 20:52:57 · 272 阅读 · 0 评论 -
JavaScript小技巧
11个JavaScript小技巧:1、过滤唯一值;2、短路求值(Short-Circuit Evaluation);3、转换Boolean型;4、转换String型;5、转换Number类型;6、快速求幂;7、快速Float转Integer;8、类中自动绑定;9、截取数组;10、获取数组中的最后的元素;11、格式化JSON代码;1、过滤唯一值Set类型是在ES6中新增的,它类似于数组,但...原创 2019-05-26 00:02:22 · 168 阅读 · 0 评论 -
Promise里的代码为什么比setTimeout先执行?
Promise里的代码为什么比setTimeout先执行?下面是一段代码,分析下面这段代码:var r = new Promise(function(resolve, reject){console.log("a");resolve()});setTimeout(()=>console.log("d"), 0)r.then(() => console.log(...原创 2019-05-25 22:28:17 · 1451 阅读 · 1 评论 -
面试--原生JS (一)
面试--原生JS1.原始类型有哪几种?null 是对象吗?原始数据类型和复杂数据类型存储有什么区别?原始类型有6种,分别是undefined,null,bool,string,number,symbol(ES6新增)。虽然 typeof null 返回的值是 object,但是null不是对象,而是基本数据类型的一种。原始数据类型存储在栈内存,存储的是值。复杂数据类型存储在堆内存,存储的...原创 2019-06-01 22:26:26 · 413 阅读 · 0 评论