
JavaScript
文章平均质量分 81
城楠_327
在校生,前端学习ing,代码能力不强,博客只是自己加深记忆和提升能力的学习工具,
展开
-
逐步解析防抖与节流
防抖防抖:事件被触发规定时间后再执行回调,如果频繁触发,则重新计算规定时间举个生活中的例子,外面很多便利店、酒店、餐厅等都会有自动感应门,人靠近感应门就会触发开门时间,一定时间后就会关门。假如有家店有个感应门,规定开门5秒后关门,现在陆续有客人进入这家店:第一批客人要进去,门开了,(5,4,3,2,1)5秒内没有人再进来,门关闭;第二批客人要进去,门开了,(5,4,3)等到第三秒又有一批客人要进,门没关,而是则重新计算5秒(5,4,3,2),等到第四秒又有一批客人要进,门没关,而是又重新计算时间原创 2021-08-09 08:44:59 · 445 阅读 · 0 评论 -
函数的this与call、apply、bind方法
函数的thisFunction的prototype属性上有这三个方法:call()、apply()、bind(),这三个函数也常被我们拿出来讨论,因为这三个函数与this有关,那现在就来对这三个函数进行总结。语法:call(thisArg, param1, param2, ...)apply(thisArg, [param1, param2, ...])bind(thisArg, param1, param2, ...)相同点:三个方法接受的第一个参数都一样,都是函数内的this值不同点:原创 2021-07-26 16:19:04 · 153 阅读 · 0 评论 -
总结深拷贝的方法
1.JSON的方法 // JSON的方法返回一个深拷贝后的对象 function deepClone(obj){ let newObj = JSON.stringify(obj) return JSON.parse(newObj) } // 定义一个对象 let me = { name: '彭于晏', age: 18, habbits:['code', 'work_out', 'eat', 'sleep'] }原创 2021-07-19 21:59:36 · 309 阅读 · 1 评论 -
Promise学习
文章目录Promise的理解什么是PromisePromise的状态Promise的使用resolve方法reject方法all方法race方法Promise的理解什么是PromisePromise是JS解决异步编程的新的解决方案。Promise是一个构造函数,promise对象对异步操作以及获取的结果进行封装。Promise的状态pending 变为 fulfilled,表示成功pending 变为 rejected,表示失败Promise的状态改变只有这两种,不能从fulfilled原创 2021-06-19 22:59:34 · 242 阅读 · 0 评论 -
打通Ajax的任督二脉!
Ajax知识点梳理介绍AjaxHTTP协议什么是HTTP请求响应介绍AjaxAjax(Asynchronous JavaScript And XML),异步的JavaScript和XML,通过Ajax可以在浏览器中向服务器发送异步请求而不需要刷新重新获取数据。这么说可能比较抽象,举几个实际案例:在搜索框中输入关键词而出现的关键字猜测提醒:京东的分类栏加载:当鼠标移入时会出现端在的加载画面,随后就出现而二级三级菜单这些都是Ajax通过向服务器端发送异步请求,然后服务器端返回给我们的数据,而这些原创 2021-06-18 21:38:47 · 285 阅读 · 0 评论 -
JS之面向对象
JS的面向对象关于类和对象如何理解类与对象对象类创建类和对象关于类和对象如何理解类与对象类:抽取公共属性和行为封装成一个类(模板),泛化的、抽象的对象:对类进行实例化,一个具体的对象,具体的、特指的类和对象的区别是什么呢?举两栗子:栗子一:A:其实养二哈挺好的,就是有点废家。B:确实确实,我家都快被我那只二哈拆完了。栗子二:A:最近想买手机了,你觉得华为mate40pro怎么样?B:我现在用的这部就是华为mate40pro,我觉得挺好用的,推荐。上面两段对话中,A说的“二哈”和“华原创 2021-06-16 18:13:20 · 174 阅读 · 0 评论 -
原型的一些操作方法
自定义对象的原型设置自定义了个父子对象,可以看到儿子的原型是指向Object构造函数的: let son = { name: 'son' }; let father = { name: 'father', myFn() { console.log(`${this.name}调用了father对象内的myFn方法`); } };原创 2021-06-15 16:42:56 · 1083 阅读 · 0 评论 -
探究JS的原型
JS的原型与继承学习构造函数prototype原型对象对象原型构造函数我们创建对象有3种方法,通过Object对象进行创建、字面量形式创建、构造函数形式创建,而要批量创建对象,用构造函数时比较合适的: function User(name, age) { this.name = name; this.age = age; this.coding = function() { console.log原创 2021-06-15 16:41:37 · 313 阅读 · 1 评论 -
让你看到不一样的JS对象
JS知识点学习操作对象的基本方法访问对象属性添加对象属性删除属性对象的传址对象的展开语法对象的解构赋值操作对象的基本方法访问对象属性访问对象属性可以用 点“.”语法 和 中括号“[ ]”语法 访问: let uesr = { name: '彭于晏' } console.log(user.name); // 彭于晏 // 使用中括号要用字符串的形式访问 console.原创 2021-06-13 22:49:30 · 398 阅读 · 0 评论 -
就这次,把闭包给你整明白了!
闭包函数的环境与作用域理解什么是环境与作用域关于环境的生命周期闭包什么是闭包?闭包代码实例函数的环境与作用域理解什么是环境与作用域环境,用我们的生活举例子,环境就好像我们的周边设施,学校,超市,药店,公园等,各种设施构成了我们的生活环境。作用域,就好像这些周边设施一般都是只能服务于周边的居民,不可能说有人大老远千里迢迢来超市买瓶水再千里迢迢赶回去吧,所以说作用域指的就是这些设施的服务范围。说完了生活的栗子,再返回到代码上吧。环境可以理解为我们定义的一些变量(数据、内存),而作用域指的就是这些变量的原创 2021-06-12 15:26:31 · 127 阅读 · 0 评论 -
JS的函数知识点学习
JS的函数知识整理函数的定义全局函数与模块化函数默认参数arguments与...arguments回调函数函数的定义字面量形式: function fn() { // 函数语句 }匿名函数赋值方式: let fn = function(){ // 函数语句 {该函数存在变量提升,需要定义完函数后再执行,否则报错: fun(); let fun = function() { console.lo原创 2021-06-11 18:10:47 · 320 阅读 · 0 评论 -
关于数组的运用场景
数组运用的几个案例获取购物车商品的总价格商品的最高销量获取销量超过***的商品数组去重获取购物车商品的总价格 // 定义商品信息为元素的数组 let cart = [{ name: 'clothes', price: 430 }, { name: 'phone', price: 3599 }, { name: 'books',原创 2021-06-10 12:36:34 · 695 阅读 · 0 评论 -
JS数组的基操总结
JS数组的基本操作定义数组使用new构造函数定义使用字面量方式定义(更加简洁)数组的类型及类型转换数组的类型数组与字符串的转换查找数组元素索引号进行查找:indexOf(从头开始查找):lastIndexOf(从尾开始查找):includes()find与findIndex方法数组添加元素通过下标追加元素push方法追加unshift在数组首位添加展开语法合并数组concat()合并数组删除数组delete运算符pop()方法删除数组最后一个元素shift()方法删除数组第一个元素splice数组切片sli原创 2021-06-10 00:00:39 · 723 阅读 · 0 评论 -
JS中数据类型的存储和深拷贝与浅拷贝
关于数据类型及存储要了解深拷贝与浅拷贝之前,我们有必要了解一下JS中的数据类型我们知道JS数据类型分为2类:基本类型:也叫值类型,在存储时变量存储的是值本身。引用类型:在存储时变量存储的是地址。我们定义一个变量和赋值操作时,实际上就是开辟一个内存空间来存放变量,内存又分为堆和栈,堆用来存放引用数据类型,栈用来存放基本数据类型的值。关于2中类型的存储,下面的简图可以说明:首先我们定义了两个基本变量 name 和 age,并赋值,同时又定义了一个引用变量 arr数组,也做了赋值操作。这时操作原创 2021-06-02 13:37:35 · 210 阅读 · 0 评论 -
如何判断一个变量是不是数组
首先“拔草” typeof 操作符,因为用typeof去检测数组类型,将返回Object,无法判断。let arr = [1, 2, 3, 4]console.log(typeof arr);以下有几个方法可以判断: instanceof操作符let arr = [1, 2, 3, 4]console.log(arr instanceof Array); 对象的constructor属性let arr = [1, 2, 3, 4]console.log(ar原创 2021-06-01 13:33:37 · 360 阅读 · 0 评论 -
关于我对for...in 与 for...of 的理解
关于遍历前言 在刚学习JS时,我们接触更多的是普通的for循环WorldArray = ['Hello', 'World', '你好', '世界']for (let index = 0; index < WorldArray.length; index++) { console.log(WorldArray[index]); }但是我们可以看出来,这样的遍历比较麻烦繁琐,于是后来可以使用内置的更简单的forEach循环方法:WorldArray =原创 2021-05-31 16:24:48 · 126 阅读 · 0 评论