首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
JS
咖喱崔
创建于2023-02-07
订阅专栏
JS部分
暂无订阅
共23篇文章
创建于2023-02-07
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
ajax的原理
通过XmlHttpRequest对象来向服务器发异步请求,从服务器获得数据,然后用JavaScript来操作DOM而更新页面 实现过程: 1、创建ajax的核心对象XmlhttpRequest对象 2
Promis
1、Promise对象是一个构造函数,用来生成Promise实例,,Promise身上有两个属性一个是状态PromiseState,一个是结果PromiseResult,Promise构造函数接收两个
防抖节流
一、防抖: 单位时间内、频繁触发事件、只执行最后一次 二、节流: 单位时间内、频繁触发事件、只执行一次 一般开发都用lodash库
事件循环
事件循环**(eventloop)** 1、JS是单线程,防止代码阻塞,把任务分为:同步和异步 2、同步任务代码给JS引擎执行、异步任务交给宿主环境 3、同步代码放入执行栈中、异步代码等待时机成熟送入
typeof和intanceof 区别
# typeof `typeof` 是一个一元操作符不是函数,所以不需要传递参数,使用方法非常简单:`typeof A`,使用typeof会直接返回类型结果 ``` // Numbers typeof
set,map
set(集合)只要记住有一个用法:数组去重 map(字典)和对象很像 区别就是对象的属性名只能是字符串,而map的属性名是任意的 weakMap 弱引用 对垃圾回收机制更加友好,不需要用户不用手动删除
垃圾回收机制
引用计数法和标记清除法 引用计数法:引用一次就加1,减少一次就减1 ,没有就会被释放 引用计数法会存在一个问题:嵌套引用 两个对象相互引用,垃圾回收不会进行回收,还会存在内存泄漏问题 标记清除法:从根
new的过程
创建一个新的空对象 将空对象的proto 指向了 Person.prototype 将构造函数内部的this指向新对象 执行构造函数给this(实例对象)添加属性或方法 默认return this
原型链的理解
实例是由构造函数new出来的 构造函数身上有一个属性叫prototype,指向一个原型对象 实例有一个内部的proto属性也可以找到这个原型对象 访问实例身上的属性或方法,如果自己有就直接用,如果自己
箭头函数和普通函数的区别
箭头函数没有自己的this,this和外面一样的 箭头函数由于没有自己的this,所以不能用于构造函数 箭头函数中没有arguments(了解一下)
call,bind,apply的区别
call,bind,apply都可以改变this指向 call,apply都会立即执行,而bind只改变this指向,不会调用函数 call的参数有很多,apply只有二个参数,第二个参数是数组
this指向问题
正常情况下谁调用这个函数,this指向谁 obj.fn window.fn new构造函数,this指向创建出来的实例 定时器中的this指向window 箭头函数没有自己的this,和外面环境一样的
数组扁平化(拍扁)
思路一 利用数组flat方法 思路二 利用数组的toString方法 ```js const arr = [2, [3, 4], 5, [[6]], [[[[[7]]]]]] console.log(
如何中断for 、foreach如何中断
中断for break 离职 中止 continue 请一天假 跳过当前这一次循环 return 如果for循环在函数体中,也可以通过return中止 中断foreach forEach中用retur
for..in/for..of的区别
for in:一般用来遍历对象 for of :一般用来遍历可迭代的数据结构,比如数组(array) arugments,nodeList,字符串(string)集合(set) 涉及Iterator
原型链
原型:访问一个对象的属性时,它不仅仅在该对象上搜寻,还会搜寻该对象的原型,以及该对象的原型的原型,依次层层向上搜索,直到找到一个名字匹配的属性或到达原型链的末尾 构造函数Person存在原型对象Per
let const var区别
(1)块级作用域: 块作用域由 { }包括,let和const具有块级作用域,var不存在块级作用域。块级作用域解决了ES5中的两个问题: 内层变量可能覆盖外层变量 用来计数的循环变量泄露为全局变量
什么是闭包
什么是闭包: 就是内层函数访问外层函数的作用域 闭包的原理就是利用作用域链的特性,首先在当前作用域访问数据,当前作用域访问不到,则向父级访问,父级也没有,一直找到全局。 作用: 变量私有化 ,防止数据
深拷贝浅拷贝的区别?如何实现一个深拷贝?
浅拷贝是拷贝一层,属性为对象时,浅拷贝是复制,两个对象指向同一个地址 深拷贝是递归拷贝深层次,属性为对象时,深拷贝是新开栈,两个对象指向不同的地址 浅拷贝和深拷贝最根本的区别就是存储区域是否指向同一个
map() foreach()区别
(1)map()方法会得到一个新的数组并返回,forEach()会修改原来的数组。 map遍历的后的数组通常都是生成一个新的数组,新的数组的值发生变化,当前遍历的数组值不会变化。 (2)forEach
下一页