weixin_kexiaokang
码龄5年
求更新 关注
提问 私信
  • 博客:43,984
    43,984
    总访问量
  • 42
    原创
  • 10
    粉丝
  • 221
    关注
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:湖北省
加入CSDN时间: 2020-02-24
博客简介:

weixin_46396187的博客

查看详细资料
个人成就
  • 获得28次点赞
  • 内容获得24次评论
  • 获得131次收藏
  • 博客总排名692,207名
创作历程
  • 4篇
    2022年
  • 17篇
    2021年
  • 21篇
    2020年
成就勋章
TA的专栏
  • 笔记
    5篇

TA关注的专栏 0

TA关注的收藏夹 0

TA关注的社区 5

TA参与的活动 0

创作活动更多

王者杯·14天创作挑战营·第2期

这是一个以写作博客为目的的创作活动,旨在鼓励码龄大于4年的博主们挖掘自己的创作潜能,展现自己的写作才华。如果你是一位热爱写作的、想要展现自己创作才华的小伙伴,那么,快来参加吧!我们一起发掘写作的魅力,书写出属于我们的故事。 注: 1、参赛者可以进入活动群进行交流、分享创作心得,互相鼓励与支持(开卷),答疑及活动群请见https://bbs.csdn.net/topics/619735097 2、文章质量分查询:https://www.csdn.net/qc 我们诚挚邀请你们参加为期14天的创作挑战赛!

66人参与 去参加
  • 最近
  • 文章
  • 专栏
  • 代码仓
  • 资源
  • 收藏
  • 关注/订阅/互动
更多
  • 最近

  • 文章

  • 专栏

  • 代码仓

  • 资源

  • 收藏

  • 关注/订阅/互动

  • 社区

  • 帖子

  • 问答

  • 课程

  • 视频

搜索 取消

vue3 setup函数的理解

定义:1.setup是处于beforecreate和created生命周期间的函数;2.setup是组合式api的入口;3.setup函数中定义的变量和方法都是需要return出去的,不然没有办法在模板中使用;注意事项;1.因为在setup中尚未执行created初始化完成,所以无法使用data,methods(vue2);2.因为在setup中无法使用data,methods,所以为了避免错误使用,vue将setup函数中的this转化成undefined;3.setup是同步的,不能异步使用;其他:se
原创
发布博客 2022.08.31 ·
778 阅读 ·
0 点赞 ·
1 评论 ·
1 收藏

居中为什么要使⽤transform(为什么不使⽤marginLeft/Top)

【代码】居中为什么要使⽤transform(为什么不使⽤marginLeft/Top)
原创
发布博客 2022.08.31 ·
261 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

合并两个特殊数组

【代码】合并两个特殊数组。
原创
发布博客 2022.08.31 ·
164 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

递归处理改变字段

【代码】递归处理改变字段。
原创
发布博客 2022.08.31 ·
223 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

[] == ![]发生了什么?结果又是什么

1.因为!运算符的优先级比较高,所以表达式右侧先运行![],得出false,表达式变为[] == false2.强制将false转换为0,表达式变为[] == 03.将[]强制转换为原始类型后为"",表达式变为"" == 04.将""转换为Number类型,表达式变为0 == 0两侧类型相同,直接返回0 === 0的结果true...
原创
发布博客 2021.07.02 ·
148 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

null到底是不是对象?为什么?

null不是对象,在js最初版本使用32位系统,会使用低位存储变量的类型信息,而null也是以000开头,然后null 表示全0,所以将他错误的判断为object
原创
发布博客 2021.07.02 ·
741 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

深入理解事件循环

任务队列( Event Queue )所有的任务可以分为同步任务和异步任务,同步任务,顾名思义,就是立即执行的任务,同步任务一般会直接进入到主线程中执行;而异步任务,就是异步执行的任务,比如ajax网络请求,setTimeout 定时函数等都属于异步任务,异步任务会通过任务队列的机制(先进先出的机制)来进行协调。具体的可以用下面的图来大致说明一下:同步和异步任务分别进入不同的执行环境,同步的进入主线程,即主执行栈,异步的进入任务队列。主线程内的任务执行完毕为空,会去任务队列读取对应的任务,推入主线程执行
原创
发布博客 2021.06.28 ·
169 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

前端安全之XSS和csrf攻击

前端安全之XSS和csrf攻击1.Csrf攻击原理(跨站请求伪造):从上图可以看出,要完成一次CSRF攻击,受害者必须满足两个必要的条件:(1)登录受信任网站A,并在本地生成Cookie。(如果用户没有登录网站A,那么网站B在诱导的时候,请求网站A的api接口时,会提示你登录)(2)在不登出A的情况下,访问危险网站B(其实是利用了网站A的漏洞)。我们在讲CSRF时,一定要把上面的两点说清楚。2.Csrf如何防御方法一、Token 验证:(用的最多)(1)服务器发送给客户端一个token;
原创
发布博客 2021.06.28 ·
207 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

React hooks与class 的比较

React hooks与class 的比较class相比函数式组件的优势:class组件内部可以定义自己的state,用来保存组件自己内部的状态;函数式组件不可以,因为函数每次调用都会产生新的临时变量。class组件有自己的生命周期,可以在对应的生命周期中完成自己的逻辑;比如在componentDidMount中发送网络请求,并且该生命周期函数只会执行一次;函数式组件在学习hooks之前,如果在函数中发送网络请求,意味着每次重新渲染都会重新发送一次网络请求。class组件可以在状态改变时只重新执行r
原创
发布博客 2021.06.21 ·
1229 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

JS 中构造函数和普通函数的区别

JS 中构造函数和普通函数的区别这是一个普通函数:function fn(){alert("hello sheila");}fn();//alert:hello sheila不需要用new关键字调用可以用return语句返回值function fn(a,b){return a+b;}alert(fn(2,3));//alert:5函数命名以驼峰方式,首字母小写不是命名规范中的,但是建议这么写。构造函数特点:用new关键字调用var person=new Person(
原创
发布博客 2021.04.16 ·
157 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

深入了解js原型

深入了解js原型function Person(){ this.name = '张三'}Person.prototype.name = 'Kevin';let obj = new Person()Person 就是一个构造函数,我们使用 new 创建了一个实例对象 obj此时想要访问原型上的name,可以利用实例对象 obj.nameprototype每个函数都有一个 prototype 属性每一个JavaScript对象(null除外)在创建的时候就会与之关联另一个对象,这个对
原创
发布博客 2021.04.16 ·
85 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

小程序setData原理

小程序setData工作原理小程序的视图层目前使用 WebView 作为渲染载体,而逻辑层是由独立的 JavascriptCore 作为运行环境。在架构上,WebView 和 JavascriptCore 都是独立的模块,并不具备数据直接共享的通道。当前,视图层和逻辑层的数据传输,实际上通过两边提供的 evaluateJavascript 所实现。即用户传输的数据,需要将其转换为字符串形式传递,同时把转换后的数据内容拼接成一份 JS 脚本,再通过执行 JS 脚本的形式传递到两边独立环境。而 evalu
转载
发布博客 2021.04.08 ·
531 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

js判断数组和对象方法

js判断数组和对象方法第一种:var obj = { }var arr = [];console.log(arr.constructor === Array) 数组的话会返回trueconsole.log(obj.constructor === Array);第二种:instanceofconsole.log(arr instanceof Array);数组的话会返回trueconsole.log(obj instanceof Array);第三种 用toString方法conso
原创
发布博客 2021.03.30 ·
376 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

https 协议原理

https 工作流程图:重点在这里:1.服务器端产生的是对称秘钥,所以只是把公钥发送出去,私钥一直在自己这里 (对称秘钥就是一个公钥,一个私钥,用公钥加密,用私钥直接能解码,但是比较慢,不能一直用这个通信)2.客户端首先向一个权威的服务器检查证书的合法性,如果证书合法,客户端产生一段随机数,这个随机数就作为通信的密钥,我们称之为对称密钥,用公钥加密这段随机数,然后发送到服务器3. 服务器用密钥解密获取对称密钥,然后,双方就已对称密钥进行加密解密通信了...
原创
发布博客 2021.03.29 ·
107 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

强缓存和协商缓存区别

1.强缓存(也叫本地缓存)特点:浏览器在请求某一资源时,会先获取该资源缓存的header信息,判断是否命中强缓存(cache-control和expires信息),若命中直接从缓存中获取资源信息,包括缓存header信息;本次请求根本就不会与服务器进行通信;在chrome控制台的network选项中可以看到该请求返回200的状态码;简单的来说就是不与服务器交互2.协商缓存特点:上面说到的强缓存就是给资源设置个过期时间,客户端每次请求资源时都会看是否过期;只有在过期才会去询问服务器。所以,强缓存就是为
原创
发布博客 2021.03.29 ·
1513 阅读 ·
1 点赞 ·
0 评论 ·
2 收藏

Promise的优缺点

为什么要用promise优点:(1)解决回调地狱问题 ,有时我们要进行一些相互间有依赖关系的异步操作,比如有多个请求,后一个的请求需要上一次请求的返回结果。(2)更好地进行错误捕获缺点:(1)无法取消Promise,一旦新建它就会立即执行,无法中途取消。(2)如果不设置回调函数,promise内部抛出的错误,不会反应到外部。(3)当处于pending状态时,无法得知目前进展到哪一个阶段(刚刚开始还是即将完成)。为什么Async/Await更好?函数前面多了一个async关键字。await关
原创
发布博客 2021.03.15 ·
1996 阅读 ·
2 点赞 ·
0 评论 ·
19 收藏

Vue.use(plugin)源码解析

Vue.use(plugin)源码解析:安装Vue.js 插件。如果插件(plugin)是一个对象,必须提供install方法。如果插件是一个函数,它会作为install方法。install方法调用时,会将Vue作为参数传入。该方法需要在调用New Vue()之前被调用。当install方法被同一个插件多次调用,插件将只会被安装一次。...
原创
发布博客 2021.03.09 ·
158 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

变量重新赋值和引用重新赋值问题

var a=3;var b=a;a=5;; //结果为5;; //结果为3;而在下面的代码中情况却发生了变化:var a=1,b=2,c=3;var Array=[a,b,c];a=5;; //结果为1,没有发生变化; var a=1,b=2,c=3;var Array=[a,b,c];Array[0]=5;; //结果为1,a没有发生变化 在接下来的代码中情况又不同: var a=1,b=2,c=3;var Array=[a,b,c];Array2=Arra
原创
发布博客 2021.03.09 ·
878 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

js深浅拷贝

1.什么是深浅拷贝简单的来说,加入b复制a ,a改变 , 如果b也跟着改变的话,那就是浅拷贝,反之是深拷贝实现浅拷贝方法:1.赋值操作var a = [0,1,2,3,4]var b = a a[0]=5console.log(a)// [5,1,2,3,4]console.log(b)// [5,1,2,3,4]2. es6 Object.assign() 只能可以拷贝一层数据,无法拷贝多层数据,内层依然为浅拷贝var obj = { a: {a: "hello", b: 2
原创
发布博客 2021.03.03 ·
80 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

template渲染过程

模板到真实dom节点需要经过一些步骤:1.把模板编译为render函数2.实例进行挂载, 根据根节点render函数的调用,递归的生成虚拟dom3.通过diff算法对比虚拟dom,渲染到真实dom(类同react的虚拟DOM渲染过程)4.组件内部data发生变化,组件和子组件引用data作为props重新调用render函数,生成虚拟dom, 返回到步骤3...
原创
发布博客 2021.03.03 ·
539 阅读 ·
1 点赞 ·
0 评论 ·
1 收藏
加载更多