用 Vue 已经有几年了,使用上大概是人们口中所说的老司机了吧,熟知 Vue 生态,用来开发了十来个项目,也可谓是驾轻熟路了吧。遇到问题也会通过 debug 找到问题出处,不明白的回去翻翻源码相应的位置。不过还是有很多地方是我不知道的,更确切的说是自己只是把他当做工具,能用就行,从来没有想过这个工具为什么这么设计,对于开发有什么借鉴意义,我想这也是大部分人的做法吧。
昨天早上我整理好手头的 task,刚安排好当天要做的事情,做了一点点,就听到办公室有人在说正式版服务挂了,用七牛 CDN 的所有项目都打不开,因为七牛 CDN 挂了,我想到我们还有 pc 端,静态资源不走 CDN,就跟同事说让外面用着 PC 版先,功能都一样的,同事说视频,文档这些动态调用的静态资源都放在七牛,上传图片的路径也是七牛,还是会有部分功能用不了,不过我想我们也没办法,感觉这是服务端的事情,我这边应该也不用做什么措施,继续淡定的敲我的代码。
想做技术的契机来源于大学计算机老师的影响,大一教 c 语言的老师让我知道了编程竟然这么有趣,可以做这么多好玩的东西。大二时听到老师很有兴致的讲到他大学的时候通过局域网去恶作剧,觉得懂技术竟然可以这么好玩,真有意思。后来的数据库课程的老师布置的期末大作业,开发一个动态网站,我第一次知道了了网站开发竟然这么简单,几行代码就可以出来一个让全世界人们都能看到的页面。就是这么一个个老师的影响,我有了编程这个爱好,也坚持这个爱好并找到了相关工作。
写了几年的 Vue 了,对其中的内部实现还是一知半解,日常开发中,基本问题 debug + 官方文档基本可以解决了,很少有触及源码的需求。最近发现看看源码也有好处,用的时候可能会多了一些自己的理解,知道了为什么,使用起来也更加得心应手。下面来讲讲 Vue 数据驱动视图是怎么做到的。
在讲 Vue 如何做到数据驱动视图之前,我们先来看看用纯 js 我们是如何改变页面数据的
在实例化一个构造函数的时候,我们通常会用 new 关键字,这个 new 关键字是如何做到让实例可以调用到构造函数上的方法和属性的呢?
我们先来看看实例有啥特性,首先每个实例上都有一个 __proto__
属性指向实例原型,也就是构造函数的原型,实例可以调用到构造函数上的方法和属性,然后实例可以向构造函数传参。乍一看这不就是在变相的问如何实现继承吗?接下来,我们写个 demo 看看怎么实现上述表述的内容
最近想把字符串转换成 base64,不想用库,搜了下浏览器环境下 js 原生就支持字符串跟 base64 的相互转换,看看 demo:
// 加密 |
鲍勃迪伦有首歌叫做’flowing in the wind’,美国也有一部长篇历史小说叫做 ‘gone with the wind’, 名字也好,故事也好,我都很喜欢。也许是喜欢这一类的题材,我的记忆也爱屋及乌,演变成了 ‘flowing in the wind’ 或者 ‘gone with the wind’ 这样的状态吧。