深入Flutter
本文主要说了Flutter内部使用了怎样的算法和优化让Flutter如此强大。某些内容对比了Flutter和其他开发工具一致性算法的优劣,不过个人感觉还是太过简短,后面我会花更多的时间来研究这方面的内容,后续补上
利用 canvas 与 Data URLs 安全地下载一张图片
普通用户下载图片时只需一个「右键另存为」操作即可完成,但当我们做在线编辑器、整个 UI 都被自定义时,要如何赋予用户一个安全下载页面中图片功能的能力呢?最简单的办法,当然是利用 标签。根据 MDN 描述
如何通过CSS向JS传参?
CSS中有很多媒体查询的用法,例如设备尺寸判别,是否支持鼠标行为,是否是黑暗模式,是否是省电模式等。CSS可以自动检测,但是有时候,在JS中,我们也需要根据不同的系统主题,然后实现不同的交互逻辑,或者渲染出不一样的内容。
call,apply,bind的用法以及区别
当一个函数被保存为对象的一个方法时,如果调用表达式包含一个提取属性的动作,那么它就是被当做一个方法来调用,此时的this被绑定到这个对象。此时的this是指obj1这个对象,obj1.fn()实际上是obj1.fn.call(obj1),事实上谁调用这个函数,this就是谁。
vue开发中的几个高级应用
我们使用的第三方 Vue.js 插件。如果插件是一个对象,必须提供install方法。如果插件是一个函数,它会被作为install方法。install方法调用时,会将Vue作为参数传入。该方法需要在调用new Vue()之前被调用。
关于Mock.js使用
目前在做一个个人网站,写了一半没有数据填充,也不知道写啥了,就顺带学习下mockjs这个东西,官网上主要介绍它是一个可以随机生成各种类型数据,拦截ajax请求等优点。接下来就近距离结束下mockjs吧!
Angular 中的 asyncPipe 源码探究
async 管道用于解包异步原始数据。说到异步数据,就自然而然的会想起 observable 和 promise, async 就是用来订阅他们,然后返回他们发布的最近一个值,然后将组件标记为变更做准备。当组件被销毁时,async 会自动取消订阅以防内存泄漏。
git创建与合并分支
git checkout命令加上-b参数表示创建并切换,相当于以下两条命令:由于远程库是空的,我们第一次推送master分支时,加上了-u参数,Git不但会把本地的master分支内容推送的远程新的master分支
深入浅出JS原型链
当js在一个对象上查找属性的时候,首先查找对象本身的属性(即声明时候定义的属性),如果在这些属性中没有找到目标属性,那么js会找它的__proto__对象,如果这个对象没有,那么继续找__proto__对象的__proto__