独鹿DT
码龄5年
关注
提问 私信
  • 博客:150,408
    动态:42
    150,450
    总访问量
  • 152
    原创
  • 2,146,637
    排名
  • 989
    粉丝
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:湖南省
  • 加入CSDN时间: 2020-05-02
博客简介:

nanxing的博客

博客描述:
个人博客:https://nanxing.ltd
查看详细资料
个人成就
  • 获得319次点赞
  • 内容获得271次评论
  • 获得470次收藏
  • 代码片获得409次分享
创作历程
  • 141篇
    2021年
  • 11篇
    2020年
成就勋章
TA的专栏
  • Vue2&Vue3
    付费
    33篇
  • JavaScript高级
    付费
    36篇
  • NodeJS
    10篇
  • 项目
    13篇
  • TypeScript
    2篇
  • 前端小知识
    7篇
  • 数据结构
    12篇
  • 网页小Demo
    9篇
  • 算法
    3篇
  • 问题解决
    6篇
  • 编程工具
  • 小程序
  • React
  • 其他
    1篇
  • Oracle 11g数据库管理 应用与开发
    17篇
  • Android
    6篇
兴趣领域 设置
  • 前端
    javascriptcssvue.jses6webpack前端框架
  • 后端
    node.js
  • 网络与通信
    https
  • 微软技术
    typescript
  • 学习和成长
    面试
创作活动更多

2024 博客之星年度评选报名已开启

博主的专属年度盛宴,一年仅有一次!MAC mini、大疆无人机、华为手表等精美奖品等你来拿!

去参加
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

JavaScript异常处理

异常处理抛出错误捕获异常抛出错误通过throw关键字,抛出一个错误,让函数告知外界自己出现了错误。抛出的错误再函数的上没有被调用,会一层一层的向外边传,直到顶层JS代码还没对这个异常进行处理,那么就会报错。function foo1() { throw "error message";}function foo2() { foo1();}function foo3() { foo2();}// 直到foo3函数,都没有foo1内的异常进行处理,那么会报错foo3();
原创
发布博客 2021.11.06 ·
737 阅读 ·
1 点赞 ·
1 评论 ·
1 收藏

浏览器和Node的事件循环

事件循环事件循环解析浏览器内的事件循环面试题面试题一面试题二面试题三面试题3.1面试题3.2面试题3.3Node内的事件循环面试题面试题一事件循环解析进程:操作系统管理程序的一种方式。线程:操作系统能够进行调度的最小单位。JavaScript代码的执行是单线程执行的,但是为什么碰到异步函数却不会阻塞后续代码的继续执行呢?这就用到了事件循环。定义:事件循环是JavaScript代码和浏览器或者Node之间的桥梁。浏览器是多进程多线程的,在JavaScript代码执行时,知道在内存内维护着执行上
原创
发布博客 2021.11.05 ·
483 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

async和await

async和awaitasync的使用await的使用在async和await出来之前,异步回调的方法就有1、回调嵌套2、Promsie的链式回调3、Generator的复杂繁琐调用方式async/await采用同步的思维来解决异步问题的方式,使代码的可读性更强了。async的使用在函数的function关键字前加上 async,该函数就变成了 异步函数。该函数和普通函数的区别:异步函数的返回值是一个Promsie对象,相当于返回的值包裹在了Promise.resolve()内进行返
原创
发布博客 2021.11.05 ·
430 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Interator和Generator

Iterator和GeneratorIterator认识迭代器迭代器代码认识可迭代对象可迭代对象代码内置可迭代对象可迭代对象的应用自定义类的可迭代Generator生成器的理解生成器函数的执行流程生成器的其他方法调用return方法throw方法Iterator认识迭代器迭代器:帮助遍历某个数据结构的对象。一个对象需要成为迭代器需要满足迭代器协议。迭代器协议定义了一个产生一系列对象的标准方式,在JS中 这个标准就是next方法。next方法是一个可以传入零个或者一个参数的函数,这个函数返回一个对
原创
发布博客 2021.10.26 ·
581 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

手写Promise

手写Promise手写Promise代码过程思考手写Promise代码const PROMISE_STATUS_FULFILLED = "PROMISE_STATUS_FULFILLED";const PROMISE_STATUS_PENDING = "PROMISE_STATUS_PENDING";const PROMISE_STATUS_REJECTED = "PROMISE_STATUS_REJECTED";function execFunctionThrowErr(exceFn, quer
原创
发布博客 2021.10.24 ·
219 阅读 ·
2 点赞 ·
0 评论 ·
0 收藏

DFS-油田问题

油田问题问题描述DescriptionInputOutputJavaScript 解决代码注意事项涂鸦智能秋招笔试题,很多算法题都在大学时间学到过,但是那时还没有这么完全接触前端,加上也没有去回顾复习,又还给老师了,真是书到用时方恨菜啊!问题描述Description某石油勘探公司正在按计划勘探地下油田资源,工作在一片长方形的地域中。他们首先将该地域划分为许多小正方形区域,然后使用探测设备分别探测每一块小正方形区域内是否有油。若在一块小正方形区域中探测到有油,则标记为’@’,否则标记为’*’。如
原创
发布博客 2021.10.22 ·
438 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

你不知道的Promise细节

你不知道的Promise细节异步请求处理方案Promise的基本使用Promsie的三种状态Promise的resolve参数Promse的reject参数Promise对象方法then方法catch方法finally方法Promise类方法resolve方法reject方法all方法allSettled方法race方法any方法手写Promise异步请求处理方案在ES6之前,对于网络请求的结果是通过回调函数实现的。回调函数Promise重构Promise的基本使用// 创建一个Promis
原创
发布博客 2021.10.21 ·
481 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Vue2和Vue3的响应式原理

Vue2和Vue3的响应式原理这个其实在Vue2&Vue3专栏的源码学习部分,已经实现过,但是当时还是对部分的数据结构存在不明确的部分,比如说Proxy类,Reflect对象,Set数据结构,就没有运用这部分知识点,用了也不明确。那么这篇文章,可以在之前实现得基础上做出优化,利用ES6的新知识点数据结构#mermaid-svg-CAYEnwhHK27u2wSW .label{font-family:'trebuchet ms', verdana, arial;font-family:var
原创
发布博客 2021.10.19 ·
245 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

ES6知识点:Proxy和Reflect详解

ES6知识点:Proxy和ReflectProxy的基本使用Proxy的十三种捕获器set和get捕获器has捕获器deleteProperty捕获器getPrototypeOf捕获器setPrototypeOf捕获器isExtensible捕获器preventExtensions捕获器getOwnPropertyDescriptor捕获器defineProperty捕获器apply捕获器construct捕获器ownKeys捕获器Reflect的基本使用Reflect和Proxy一起使用Reflect.r
原创
发布博客 2021.10.16 ·
624 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

ES12常用新语法

ES12常用新语法FinalizationRegistryWeakRef逻辑赋值运算符Numeric SeparatorString.replaceAllString.replaceAllFinalizationRegistry当一个对象没有被引用时,GC算法会对其进行回收,那么FinalizationRegistry可以知道该对象在何时被回收掉。let info = { name: "fzb", age: 21 };let friend = { name: "zkl", age: 21 };
原创
发布博客 2021.10.14 ·
690 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

ES11常用新语法

ES11常用新语法BigIntNullish Coalescing OperatorOptional ChainingGlobalThisfor...in标准化BigInt在JS中最大的安全整数位 Number.MAX_SAFE_INTEGER,也就是说超过这个数的整数是不安全的const maxNum = Number.MAX_SAFE_INTEGER;console.log(maxNum); // 9007199254740991console.log(maxNum + 1); // 9
原创
发布博客 2021.10.14 ·
304 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

ES10常用新语法

ES10常用新语法flatflatMapObject.fromEntriestrimStart trimEndSymbol descriptionOptional catch bindingflatflat()方法可以深度遍历一个数组,并返回新的数组// 数组内又存在数组,数组嵌套的情况const nums = [10, 22, [4, 6], 81, [[32, 45], []], 10];const newNums1 = nums.flat(1); // 默认就是1const newNum
原创
发布博客 2021.10.14 ·
310 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

ES9常用新语法

ES9常用新语法Async iteratorsObject spread operatorsPromise finallyAsync iterators后续迭代器单独讲解Object spread operatorsObject spread operators(对象展开运算)已经讲解过:ES6:对象增强写法&解构&let/constPromise finally后续讲Promise单独讲解...
原创
发布博客 2021.10.14 ·
370 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

ES8常用新语法

ES8常用语法Object valuesObject entriesString paddingTrailing CommasObject.getOwnPropertyDescriptorsasync和awaitObject values之前可以通过Object.keys获取对象的key值,在ES8中,可以通过Object.values获取对象的值const info = { name: "fzb", age: 21,};console.log(Object.keys(info)); //
原创
发布博客 2021.10.14 ·
555 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

ES7:Array Includes&指数运算符

ES7:Array Includes&指数运算符Array Includes指数运算符Array Includes数组增加了includes方法const nums = [22, 33, 44, 55, 66, NaN];console.log(nums.indexOf(33) !== -1); // trueconsole.log(nums.includes(33)); // true// indexOf和includes的区别在于对NaN的判断console.log(nums.
原创
发布博客 2021.10.12 ·
232 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

ES6:数据结构Set和Map&WeakSet和WeakMap

ES6:数据结构Set和Map&WeakSet和WeakMapSet基本使用常见方法WeakSetWeakSet的特点基本使用WeakMap的应用Map基本使用常见方法WeakMapWeakMap的特点强引用和弱引用在ES6以前存储数据的结构有两种:数组和对象。在ES6中新增两种数据结构:Set和Map。SetSet里边的数据是不会重复的基本使用add方法添加const set = new Set();set.add(1);set.add(2);set.add(3);set.a
原创
发布博客 2021.10.12 ·
393 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

ES6:模板字符串&函数&进制&Symbol数据结构

ES6:模板字符串&函数&进制&Symbol数据结构模板字符串基本使用标签模板字符串函数参数默认值函数的剩余参数箭头函数的补充展开语法ES6中的进制Symbol数据类型基本使用Symbol其他方法模板字符串基本使用在es6之前将变量和字符串拼接到一起代码的可读性时非常的差的在ES6中出现了模板字符串const name = "fzb";const age = 21;// es6之前写法const message1 = "我的名字是:" + name + ",年龄是:
原创
发布博客 2021.10.09 ·
435 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

ES6:对象增强写法&解构&let/const

对象增强写法&解构&let/const对象的增强写法解构数组解构对象解构let/constlet/const的基本使用及注意事项let/const与作用域提升let/const和全局对象window的关系块级作用域总结:let/const和var有何不同对象的增强写法在定义对象的属性和方法时,有了更方便的简便写法var name = "fzb";var age = 21;var address = "address";var info = { name: name, /
原创
发布博客 2021.10.01 ·
681 阅读 ·
3 点赞 ·
2 评论 ·
4 收藏

ES6:Class类的知识补充

Class类的知识补充扩展内置类JS中实现混入JS面向对象:多态扩展内置类扩展JS内置的类// 获取数组第一个位置的元素和最后一个元素// 但是js并没有直接操作的方法,可以这样:class MsiArray extends Array { getFirstItem() { return this[0]; } getLastItem() { return this[this.length - 1]; }}// 例子:const arr = new MsiArr
原创
发布博客 2021.10.01 ·
200 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Koa的使用

Koa的使用Koa初体验Koa中间件:路由的使用params和query参数解析json数据解析x-www-form-urlencoded数据解析form-data数据解析Koa数据响应响应结果响应码静态资源服务器错误处理Koa初体验安装:npm install koaconst Koa = require("koa");const url = require("url");const app = new Koa();// 注册中间件app.use((ctx, next) => {
原创
发布博客 2021.10.01 ·
812 阅读 ·
1 点赞 ·
0 评论 ·
2 收藏
加载更多