![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
js
文章平均质量分 90
廊坊吴彦祖
你怎么对待生活,生活就怎么对待你
展开
-
JavaScript小技巧
JavaScript小技巧 现代 JavaScript 教程:https://zh.javascript.info原创 2022-07-12 21:30:59 · 467 阅读 · 0 评论 -
js函数柯里化
函数柯里化函数柯里化(Currying) 是 js 函数式编程的一项重要应用,指的是将原来接受两个参数的函数变成新的接受一个参数的函数的过程,新的函数返回一个以原有第二个参数为参数的函数,这些函数不会立即求值,而是通过闭包的方式把传入的参数保存起来,直到真正需要的时候才会求值...原创 2021-01-06 13:49:58 · 375 阅读 · 0 评论 -
ES6 iterable类型
ES6 iterable类型iterable 是 ES6 标准引入的新类型,Array、Set 和 Map 都属于 iterable 类型Array:数组,有序的元素序列,用于在单个的变量中存储多个值Set:ES6 中新增的数据结构,类似于数组,区别在于 Set 没有索引,且成员的值都是唯一的,没有重复的值Map:ES6 中新增的数据结构,类似于对象,区别在于普通对象的 key 必须是字符串或者数字,而 Map 的 key 可以是任何数据类型for…in 循环iterable 类型引入原因:原创 2020-12-16 14:11:26 · 315 阅读 · 0 评论 -
ES6 let解决的闭包问题
ES6 let解决的闭包问题ES6 letlet 是 ES6 新增的命令,用来声明变量let 用法和 var 类似,区别:var 声明变量存在变量提升,let 不存在变量提升var 可以重复声明变量,let 不可以重复声明let 声明变量存在块作用域({} 内)js 闭包闭包 就是能够读取其他函数内部变量的函数。由于 js 作用域链,只有函数内部的子函数才能读取函数内部的局部变量,所以可以把闭包简单理解成"定义在一个函数内部的函数",本质上,闭包就是将函数内部和函数外部连接起来的一座桥梁原创 2020-12-09 16:42:12 · 948 阅读 · 0 评论 -
ES6 Promise的基本使用
ES6 Promise的用法什么是 PromisePromise 是异步编程的一种解决方案,比传统的解决方案:回调函数和事件,更合理和更强大。它由社区最早提出和实现,ES6 将其写进了语言标准,统一了用法,原生提供了 Promise 对象Promise 对象两个特点:1、对象的状态不受外界影响。Promise 对象代表一个异步操作,有三种状态:pending:(进行中)初始状态,没有变为成功或失败fulfilled:(已成功)意味着操作成功完成rejected:(已失败)意味着操作失败原创 2020-12-08 16:20:15 · 147 阅读 · 0 评论 -
Array.prototype.slice.call(arguments)和Array.prototype.push.apply(arr1, arr2)
Array.prototype.slice.call(arguments)和Array.prototype.push.apply(arr1, arr2)Array.prototype.slice.call(arguments)Array.prototype.slice.call(arguments) 能将具有 length 属性的对象(类数组对象)转成数组,除了 IE 下的节点集合(因为 ie 下的 dom 对象是以 com 对象的形式实现的,js 对象与 com 对象不能进行转换)//定义一个具有l原创 2020-12-04 16:49:25 · 557 阅读 · 0 评论 -
浏览器全屏API
浏览器全屏API全屏 API为使用用户的整个屏幕展现网络内容提供了一种简单的方式,并且在不需要时退出全屏模式。这种 API 让你可以简单地控制浏览器,使得一个元素与其子元素,如果存在的话,可以占据整个屏幕,并在此期间,从屏幕上隐藏所有的浏览器用户界面以及其他应用全屏 API 提供了一些其他接口以供实现全屏所需的方法、属性、事件处理函数全屏 API 方法:Element.requestFullscreen(options):请求浏览器(user agent)将特定元素(甚至延伸到它的后代元素)设置原创 2020-12-03 15:50:54 · 472 阅读 · 0 评论 -
js实现继承的方法
js函数的继承方法构造函数、原型和实例的关系:构造函数是用来创建对象的函数,其本质也是函数,与普通函数的区别在于构造函数通过 new 操作符来调用每个构造函数都有一个原型对象(propertype),原型对象都包含一个指向构造函数的指针(constructor),而实例都包含一个指向原型对象的内部指针(__ proto __)原型链继承//父类构造函数Peoplefunction People(name) { //属性 this.name = name //方法原创 2020-12-02 17:06:24 · 194 阅读 · 1 评论 -
js判断数据类型的方法
js判断数据类型的方法typeof 判断数据类型JavaScript 中使用 typeof 判断数据类型,只能区分基本类型(number、string、boolean、undefined、function、object),如果数据类型为 null、array、object ,使用 typeof 判断都会统一返回 ‘’object‘’ 字符串console.log(typeof(1)) //numberconsole.log(typeof('a')) //stringconsole.log(原创 2020-11-24 16:25:37 · 173 阅读 · 1 评论 -
Intersection Observer实现图片懒加载
Intersection Observer实现图片懒加载Intersection Observer 的概念和用法Intersection Observer API提供了一种异步检测目标元素与祖先元素或 viewport 相交情况变化的方法,可以自动“观察”元素是否可见,可见的本质是目标元素与视口产生一个交叉区域,所以这个 API 叫做“交叉观察器”Intersection Observer API 允许你配置一个回调函数,每当目标(target)元素与设备视窗或者其他指定元素发生交集的时候执行。设备视原创 2020-11-16 16:46:35 · 582 阅读 · 0 评论 -
TypeScript的使用
TypeScript的使用TypeScript是一种由微软开发的自由和开源的编程语言。它是JavaScript的一个超集,而且本质上向这个语言添加了可选的静态类型和基于类的面向对象编程。TypeScript扩展了JavaScript的语法,所以任何现有的JavaScript程序都可以运行在TypeScript环境中TypeScript是为大型应用的开发而设计,并且可以编译为JavaScript...原创 2020-05-11 08:44:43 · 533 阅读 · 0 评论 -
fetch的使用及和ajax的区别
fetch的使用及和ajax的区别fetch和ajax的区别:当接收到一个代表错误的 HTTP 状态码时,从 fetch() 返回的 Promise 不会被标记为 reject, 即使该 HTTP 响应的状态码是 404 或 500。相反,它会将 Promise 状态标记为 resolve (但是会将 resolve 的返回值的 ok 属性设置为 false ),仅当网络故障时或请求被阻止时...原创 2020-03-09 17:15:27 · 1224 阅读 · 0 评论 -
js函数防抖和节流
js函数防抖和节流函数防抖(debounce)触发事件后在 n 秒内函数只会执行一次,如果在 n 秒内又触发了事件,则会重新计算函数执行时间函数节流(throttle)连续触发事件但是在 n 秒内只会执行一次函数,减少函数的执行频率...原创 2020-03-03 11:43:50 · 175 阅读 · 1 评论 -
new关键字执行过程的简单理解
new关键字执行过程的简单理解demo://定义构造函数Fnfunction Fn(a, b) { this.a = a; this.b = b; this.add = function() { console.log(a + b); }}//通过关键字new创建对象var fn = new Fn(1, 2)fn.add() //3...原创 2020-01-16 10:12:25 · 599 阅读 · 0 评论 -
import和require的基本使用和区别
import和require的基本使用和区别在 ES6 中 module 成为标准,使用 import 引入模块,使用 export 语句导出接口,但是在node 环境中,每个文件就是一个模块,采用的是 CommonJS 规范,使用 require 引入模块,使用 module.exports 导出接口。import 和 require 都是被模块化所使用import静态 import语句用...原创 2020-01-15 16:33:07 · 634 阅读 · 0 评论 -
JavaScript函数内部this的指向
函数基础复习1.1 为什么要学习函数?将一段代码封装到一个函数体中,在需要的地方反复调用。目的:减少代码冗余1.2 函数创建和调用函数声明创建function 函数名(形参,形参…){// 函数体}函数表达式var 变量名 = function((形参,形参…){// 函数体};调用:函数名(实参,实参…)1.3 函数的参数应用场景:当函数内部需要函数外部数据时,...原创 2019-12-30 16:11:01 · 355 阅读 · 1 评论 -
JavaScript内存机制,浅拷贝和深拷贝
JavaScript内存机制内存分配:JavaScript 在定义变量时就自动完成了内存分配//给数值变量分配内存var num = 123//给字符串分配内存 var str = "abc" //给对象及其包含的值分配内存var obj = { a: 1, b: null} //给数组及其包含的值分配内存(就像对象一样) var ary = [1, nu...原创 2019-12-27 14:44:43 · 354 阅读 · 2 评论 -
JavaScript String(字符串)方法总结
JavaScript String(字符串)方法总结字符串的作用:用于存储和处理文本,可以存储一系列字符字符串的创建:1. 通过String构造函数var str = new String('abc') //创建一个字符串对象2. 通过String创建var str = String('abc') //创建一个字符串3. 通过字面量表达式var str = '' //创...原创 2019-12-13 13:40:36 · 450 阅读 · 0 评论 -
JavaScript Array(数组)方法总结
JavaScript Array(数组)方法总结数组的作用:使用单独的变量名来存储一系列的值,用于在单一变量中存储多个值数组的创建:1. 通过Array构造函数var arr = new Array() //创建一个空数组var arr = new Array(9) //创建一个长度为9的数组var arr = new Array(‘one’, ‘two’, ‘three’) ...原创 2019-12-12 16:37:36 · 711 阅读 · 0 评论