首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
js基础知识
哲叠小哲
创建于2024-02-11
订阅专栏
一些js基础知识
暂无订阅
共20篇文章
创建于2024-02-11
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
跨域和前端安全
一.跨域 协议域名端口号有一个不一致就是跨域 1.如何解决跨域 JSONP 就是使用一些不受浏览器同源策略限制的标签,<img><script><link><iframe> 比如将请求的url放在sr
get和post
post和get本质上都是tcp链接,并无差别,但是由于http的限制和浏览器限制,导致他们在使用过程中会出现差别 post在浏览器中可以带请求体 get在浏览器中请求体为空,在node环境中可以发请
扁平数组与树数组间的转换
```html const arrToTree = function (arr, pid = 0) { return arr.reduce((res, cur) => { ```
new 关键字
1.new的过程 构建一个新的对象 将对象与构造函数通过原型链连接起来 构造函数的this指向新的对象 返回创建的对象 2.简单写个new
class转function
类: function: 添加严格模式use strict class声明的类要用new构造 new.target判断 class中属性不可枚举defineProperty的enumerable cl
this
1.正常函数中的this 简单来说就是谁调用函数这个this指向谁 在new的时候this指向new新创建的实例对象,当要new的函数中有return的时候 1.return{} this指向返回的{
js继承
1.原型继承 优点:子可以继承父类的方法进行共用 缺点:父类的所有引用类型数据会被子类共享,更改一个子类的数据其他的也会受影响 2.构造函数的继承 优点:父类引用类型的不会被子类所共享 缺点:只能继承
深浅拷贝
1.浅拷贝 如果要拷贝的属性为简单数据类型,则拷贝值,引用数据类型拷贝地址,简单来说就是只拷贝一层 实现浅拷贝的方式: Object.assign(target,source)//把源对象拷贝到目标对
手写call
测试一下: 打印的结果是这样的,但是我们不希望this展示出这么多东西,期望结果{} 可以通过Object.defineProperty() 根据描述符创建一个新的属性
原型链
1.new new XXX()创建一个构造函数,所有对象都是由new创建的 函数也是一个对象,由new Function创建 所有对象都是靠函数产生的 2.原型 原型的本质也是一个对象 所有原型都有p
手写promise
1.写promise构造器 就是写new Promise()的过程 (1)constructor传递两个参数reject和reslove,new Promise时立即调用 (2)resolve和rej
let,var,const
1.全局的污染 var 会污染全局即var声明的变量会挂载到window上,但是要注意的是let,const声明的数据在<script>标签中也是会传递的 2.重复声明问题 var可以重复声明,let
cookies,localStorage和sessionStorage
一.cookie 在调用cookie时,由于可以校验cookie的有效期,以及对方发送的域,协议等信息,所以正规发送的cookie数据不会因为来自其他站点的攻击而泄漏 假设有一个名为"session_
防抖+节流
一.防抖 1.解释 用于限制函数的执行频率,一定时间内多次触发同一个事件,只执行最后一次操作 2.应用 搜索框中输入内容时,不会立即发送请求获取相关数据,而是等到文字输完后的一定时间向后端发请求显示出
this指向和call,apply,bind
一.普通函数this指向 普通函数中this指向调用这个函数的对象 严格模式下函数内this指向undefined即'2'对应的输出结果为undefined 二.箭头函数this指向 箭头函数本身没有
throw,throw new Error和try catch
1.throw 在控制台抛出一个错误 用throw抛出一个错误且跳出程序的运行 2.throw new Error() 用throw new Error()抛出一个更为详细的错误信息 3.try ca
浏览器渲染原理
一.浏览器是如何渲染页面的 1.渲染时间点 当浏览器的网络线程在收到html文档时会生成一个渲染任务,并将其放在渲染主线程的任务队列中,在事件循环机制的作用下,将渲染任务取出放进渲染主线程开始渲染 2
浅谈事件循环
一.浏览器的渲染主线程与事件循环 浏览器的渲染主线程是浏览器中十分繁忙的一个线程,它主要负责解析html,构建dom树,解析css,执行js代码,对页面进行布局渲染等操作,所以需要事件循环来合理调度任
js的垃圾回收机制
内存的生命周期 分配 :程序执行期间,当创建新的变量,函数,对象等元素时会向操作系统请求内存空间来存储这些数据 使用 :内存被分配后使用变量,函数等会进行内存的读写 释放 :当程序不再需要某个对象或变
作用域与作用域链与闭包
作用域的分类 1.局部作用域 (1)函数作用域 特点: 函数内部声明的变量只能在函数内部使用,函数外部无法访问,不同函数间内部声明的变量无法互相访问 函数参数也是函数内部的局部变量 函数中声明的所有变