随笔分类 - javascript
摘要:在ES6之前,函数内部的this是由函数的调用方式决定的 函数调用 var age = 18; var p ={ age : 15, say : function(){ console.log(this.age) } } var f1 = p.say; f1(); 这时是函数调用(是由window调
阅读全文
posted @ 2020-10-22 17:32
酷儿q
摘要:动机 对于搜索字符串的需求,在最坏的情况下,二叉搜索树的时间复杂度可能为 O(n),“n” 是二叉树中存储的字符串的总数量。所以为了在最佳时间内搜索字符串,需要一种性能更好的数据结构。 Trie 树(又名单词搜索树)可以避免在搜索字符串时遍历整个树。仅包含字母的字符串会把 trie 节点的子级数量限
阅读全文
posted @ 2020-10-22 17:31
酷儿q
摘要:一、闭包概念闭包:有权访问另一个函数作用域中的变量的函数,一般情况就是在一个函数中包含另一个函数。从官方定义我们知道闭包是一个函数,只不过这个函数有[超能力],可以访问到另一个函数的作用域。为什么说这个叫做[超能力]呢?因为我们知道函数作用域是独立的、封闭的,外部的执行环境是访问不了的,但是闭包具有
阅读全文
posted @ 2020-10-22 17:29
酷儿q
摘要:为了保证的可读性,本文采用意译而非直译。 Infinity(无穷大)在 js 中是一个特殊的数字,它的特性是:它比任何有限的数字都大,如果不知道 Infinity, 我们在一些运算操作遇到时,就会觉得很有意思。 现在我们来看看 js 中的Infinity 属性,了解用例并解决一些常见的陷阱。 1.I
阅读全文
posted @ 2020-10-22 17:26
酷儿q
摘要:既生瑜,何生亮 Node.js 模块里,我们经常见着 module.exports 与 exports 。二者区别在哪? 来新建一个 module.js 文件: console.log(exports module.exports); console.log(exports); 然后在命令行下运行
阅读全文
posted @ 2020-10-22 17:24
酷儿q
摘要:读了 os 模块的文档,研究了几个有意思的问题: 识别操作系统平台 理解和计算“平均负载” 理解和计算“cpu 使用率” 理解和计算“内存使用率” 查看运行时间 识别操作系统平台 nodejs 提供了os.platform()和os.type(),可以用来识别操作系统平台。推荐使用: os.plat
阅读全文
posted @ 2020-10-22 17:21
酷儿q
摘要:Web开发太有意思了! 但是JavaScript则……令人望而生畏。 Web开发中其他一切对你而言都是小菜一碟,但当你深入探究JavaScript的时候,不免有一种“众人皆醒你独醉”的悲壮——好像其他人都知道你不知道的一些大的基础的知识内容,并且这些内容可以帮助你理解所有知识。 事实是,的确如此,你
阅读全文
posted @ 2020-10-22 17:20
酷儿q
摘要:TypeScript中的类型是什么?本文中描述了两种有助于理解它们的观点。 每个角度三个问题 以下三个问题对于理解类型如何工作非常重要,并且需要从两个角度分别回答。 myvariable 具有 MyType 类型是什么意思? let myvariable: MyType = /*...*/; Sou
阅读全文
posted @ 2020-10-20 17:54
酷儿q
摘要:JavaScript数据类型 JavaScript有八种内置类型 空值(null) 未定义(undefined) 布尔值(boolean) 数字(number) 字符串(string) 对象 (object) 符号(symbol, ES6中新增) 大整数(BigInt, ES2020 引入) 除对象
阅读全文
posted @ 2020-10-20 17:53
酷儿q
摘要:Symbol是ES6中新引入的一种基本数据类型,在此之前JavaScript中已有几种基本数据类型: Numberg String Boolean Null Undefined Object 不同于其他基本类型的通俗易懂,Symbol 是什么和有什么用一直有些让人困惑。 什么是Symbol Java
阅读全文
posted @ 2020-10-20 17:51
酷儿q
摘要:JavaScript 的是没有操作文件的能力,但是 Node 是可以做到的,Node 提供了操作文件系统模块,是 Node 中使用非常重要和高频的模块,是绝对要掌握的一个模块系统。 fs 模块提供了非常多的接口,这里主要说一下一些常用的接口。 1.常用API快速复习 fs.stat 检测是文件还是目
阅读全文
posted @ 2020-10-20 17:50
酷儿q
摘要:函数式编程是一种如今比较流行的编程范式,它主张将函数作为参数进行传递,然后返回一个没有副作用的函数,说白了,就是希望一个函数只做一件事情。 像JavaScript,Haskell,Clojure等编程语言都支持函数式编程。 这种编程思想涵盖了三个重要的概念: 纯函数 柯里化 高阶函数 而这篇文章主要
阅读全文
posted @ 2020-10-20 17:48
酷儿q
摘要:0.前言 最近在看计算机组成原理的浮点数部分,突然想起之前看过的一道快手面试题 为什么js中0.1+0.2不等于0.3,应该如何解决? 这里我们可以借这道题来说一下js的精度问题 1.JS数的储存 二进制和浮点数和定点数 首先计算机里面的数据肯定以二进制形式存储对于同一段二进制码,不同的解读方式肯定
阅读全文
posted @ 2020-10-20 17:45
酷儿q
摘要:题目: 请写出一个数组拍平函数。效果如下: var arr=['a', ['b', 'c'], 2, ['d', 'e', 'f'], 'g', 3, 4]; flat(arr) //a,b,c,2,d,e,f,g,3,4 方法一:使用toString方法先将arr转换为一个字符串, 再以split
阅读全文
摘要:背景 关于jsBridge的一些基础知识,在网络上有很多文章可以参考: 《H5与Native交互之JSBridge技术》《JSBridge的原理》 最近公司在做一个项目,通过把我们自己的Webview植入第三方APP,然后我们的业务全部通过H5实现。至于为什么不直接用第三方APP WebView,主
阅读全文
posted @ 2020-10-20 17:42
酷儿q
摘要:在日常的 js 编码过程中,可能很难看到相等运算符(=)是如何工作的。特别是当操作数具有不同类型时。这有时会在条件语句中产生一些难以识别的 bug。很容易理解为什么 0 == 8 是 flase 的或者 '' == false 是 true。但是为什么{} == true是 false 的就看不出来
阅读全文
posted @ 2020-10-20 17:41
酷儿q
摘要:面试的时候我们经常会问别人是理解什么是节流和防抖,严格的可能要求你写出节流和防抖函数,这里我们抛开loadsh工具库手写节流和防抖 节流函数throttle // 节流方案1,每delay的时间执行一次,通过开关控制 function throttle(fn, delay, ctx) { let i
阅读全文
posted @ 2020-10-20 17:40
酷儿q
摘要:1.识别手机平台是IOS还是安卓 /** * [isMobile 判断平台] * @param test: 0:iPhone 1:Android */ function ismobile(test) { var u = navigator.userAgent, app = navigator.app
阅读全文
posted @ 2020-10-20 17:39
酷儿q
摘要:1. JavaScripth函数不能够实现重载 重载,简单说,就是函数或者方法有相同的名称,但是参数列表不相同的情形,这样的同名不同参数的函数或者方法之间,互相称之为重载函数或者方法。参考JavaScript 高级程序设计(第三版)P66 ES函数不能够像传统意义上那样实现重载。而在其他语言中(如j
阅读全文
posted @ 2020-10-20 17:38
酷儿q
摘要:简单 for 循环 下面先来看看大家最常见的一种写法: const arr = [1, 2, 3]; for(let i = 0; i < arr.length; i++) { console.log(arr[i]); } 当数组长度在循环过程中不会改变时,我们应将数组长度用变量存储起来,这样会获得
阅读全文
posted @ 2020-10-20 17:37
酷儿q

浙公网安备 33010602011771号