
原理
文章平均质量分 58
莫尔道嘎老范
分享一些学习技术的经验以及做项目遇到的问题和解决,同时锻炼一下自己表达能力。文字叙述可能不是很精确,有疑问可以提出来大家一起进步!
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
parseInt()和parseFloat()的解析原理
parseInt函数可将非数值转化为数值,主要用于字符串到数值的转化parseInt()函数接收到的字符串最前面的空格会被忽略,从第一个非空格字符开始转换。如果第一个字符不是数值字符、加号或减号,parseInt()立即返回 NaN。这意味着空字符串也会返回 NaN(这一点跟 Number()不一样,它返回 0)。如果第一个字符是数值字符、加号或减号,则继续依次检测每个字符,直到字符串末尾,或碰到非数值字符。比如,"1234blue"会被转换为 1234,因为"blue"会被完全忽略。类似地,"原创 2022-03-30 14:43:12 · 2460 阅读 · 1 评论 -
vue数据劫持原理
在vue生命周期中的 created阶段,data中声明的数据,都会被getter/setter劫持并赋值到this组件实例上面,这也是在其他组件,如计算属性compute,方法methods,侦听器watch中能够直接使用this.数据而不是data.数据的原因;原理:利用Object.defineProperty()方法对数据进行处理:Object.defineProperty():可以 定义新属性或修改原有的属性;在操作vue数据之前,先来操作一个对象中的数据来进行体验:目的是令obj中da原创 2020-09-18 19:52:26 · 1509 阅读 · 0 评论 -
在axios中使用async/await对promise进行优化
利用promise解决了发送ajax的回调地狱问题,是代码看起来简洁了许多;但是如果要按顺序发送多次请求,还是有些麻烦的,因为我们需要一直去.then来得到结果,所以在ES7中有了一种新的语法:async/await,可以更加方便的进行异步操作,先看一下上面的请求如果在axios中用这个语法来写是什么效果: axios.defaults.baseURL = 'http://localhost:3000'; async function queryData() {原创 2020-09-17 16:03:08 · 1285 阅读 · 0 评论 -
promise解决回调地狱问题
由于ajax请求为异步请求,所以无法保证请求返回时间顺序,为了保证请求的有序进行(或者说下次请求需要用到上次请求得到的数据)这样一来就必须把后面的请求嵌套在上一次请求的内部,以保证顺序,回调地狱:代码的可阅读性非常差;为了解决这个问题,有了promise对象Promise是异步编程的一种解决方案,从语法上讲, Promise是一个对象,从它可以获取异步操作的消息使用 Promise主要有以下好处1,可以避免多层异步调用嵌套问题(回调地狱)2,Promise对象提供了简洁的API,使得控制原创 2020-09-17 14:42:28 · 676 阅读 · 0 评论 -
vue中v-model数据双向绑定底层原理
什么是双向数据绑定首先存在双方:一方是界面中显示的数据,另一方是vue中的数据vue中的数据变化,显示的数据跟着变化显示的数据变化,vue中的数据跟着变化vue中,通过v-module指令可以实现双向绑定最简单的例子: <div id="app"> <div>{{msg}}</div> <div> <!-- 使用model指令进行数据的双向绑定 -->原创 2020-09-08 22:43:10 · 2816 阅读 · 0 评论 -
template模板引擎的原理,并手动封装
1,核心原理利用正则表达式对字符进行替换;正则替换方法:https://blog.youkuaiyun.com/weixin_44134588/article/details/108327043封装的模板引擎函数:function template(id, data) { let str = document.getElementById('tpl-user').innerHTML; console.log(str); let pattern = /{{\s*([a-zA-Z]+)\s*原创 2020-09-07 22:59:30 · 520 阅读 · 0 评论