抱歉,您的浏览器无法访问本站
本页面需要浏览器支持(启用)JavaScript
了解详情 >

定义柯里化是指将一个函数分解为一系列函数的过程,每个函数都只接收一个参数函数柯里化,英语:Currying,高阶函数的一个特殊用法。是把接受多个参数的函数变换成接受一个单一参数(最初函数的第一个参数)的函数,并且返回接受余下的参数而且返回结果的新函数的技术 一个简单的例子: 12345678910function add(a, b) { return a + b}add...

什么是内存泄露程序的运行需要内存。只要程序提出要求,操作系统就会给内存。进程应及时释放不再用到的内存。不再用到的内存,没有及时释放,就叫做内存泄漏(memory leak)大多数语言提供自动内存管理,减轻程序员的负担,这被称为垃圾回收机制(garbage collector) 垃圾回收引用计数思想:跟踪记录所有值被引用的次数(阮一峰说引用计数是最常使用的,红宝书说到 2008 年为止标记清除...

知识储备常用的鼠标事件 click dbclick:双击 mouseenter:当鼠标指针首次移动到元素上时触发。不冒泡 mouseleave:当鼠标指针移出元素时触发。不冒泡 mousedown:当元素上按下鼠标按钮时候触发 mouseup:当元素上释放鼠标按钮时触发 mousemove:当鼠标指针在元素内部移动时重复地触发 mouseover:当鼠标指针移动到元素上时触发 mouseou...

JS 的事件循环宿主环境JS 运行的环境称之为宿主环境,eg. 浏览器,服务器,桌面等 执行环境栈放执行环境的地方,栈尾就是活动的执行环境 浏览器内核浏览器内核是多线程的:GUI 渲染线程、JavaScript 引擎线程、定时触发器线程、事件触发线程、异步 http 请求线程 渲染引擎和 JS 引擎是互斥的,所以渲染引擎在解析 DOM 的时候遇到 srcipt 会被暂停,阻塞渲染 主线程依...

异步编程,就是通过利用客户端环境的 Event-Loop 机制,去异步地执行某些代码 一些自己之前容易乱的关系异步函数 = 异步操作,异步函数中包含回调函数做参数。回调函数只是一个普通函数。异步函数可以写成Promise形式 以前,异步编程的方法,大概有下面四种。回调函数事件监听Promise 对象 回调函数回调函数,就是把任务的第二段单独写在一个函数里面,等到重新执行这个任务的时...

前后端数据交互利用 CookieCookie 是一些数据, 存储于电脑上的文本文件中,只要客户端 cookie 开放且有数据,每一次请求都会自动添加到 http 报文中,后台可以实时接收观察获取这些 Cookie 。 Cookie 的作用就是用于解决 “如何记录客户端的用户信息”: 当用户访问 web 页面时,他的名字可以记录在 cookie 中。 在用户下一次访问该页面时,可以在 coo...

语法/pattern/flags flags g:全局匹配;找到所有匹配,而不是在第一个匹配后停止 i:忽略大小写 m:多行; 将开始和结束字符(^和$)视为在多行上工作(也就是,分别匹配每一行的开始和结束(由 \n 或 \r 分割),而不只是只匹配整个输入字符串的最开始和最末尾处 … 常用字符类别 . :匹配任意单个字符。例如,/.y/ 匹配 “y...

JS 原理的实现实现一个 Promise()Promise 的特点: new Promise 时需要传递一个函数 fn 作为执行器(执行器会立刻执行) 执行器中传递了两个参数:resolve 成功的函数、reject 失败的函数(他们调用时可以接受任何值的参数 value) promise 状态只能从 pending 态转到 resolved 或者 rejected,如果状态发生改变执行相...

变量提升与var、let及const 函数提升优先于变量提升(var),函数提升会把整个函数挪到作用域顶部,变量提升只会把声明挪到作用域顶部 var 存在变量提升,我们能在声明之前使用。let、const 因为暂时性死区的原因,不能在声明前使用 var 在全局作用域下声明变量会导致变量挂载在 window 上(变成window的属性),其他两者不会 let 和 const 作用基本一致,但是...

数据类型数据类型ES 中有 6 种基本数据类型:undefined(未声明),null(空对象指针,可以说一个变量想用来保存对象,未保存之前最好使其等于 null),boolean,number,string,symbol(fromES6));一种复杂数据类型:Object引用类型有:Object,Array,Function,Date,RegExp 基本类型与引用类型区别引用类型(对象类型...