js
文章平均质量分 60
三毛丶
https://jkchao.cn
展开
-
小知识点
又学到一个新的知识点, 记录一下: var num = 10; function a (num) { num = num + 10; }; a(num); console.log(num) // 10var num = 10;function a (n) { num = n + 10};a (num)console.log(num) // 20考察的知识点是形参是否屏蔽全原创 2017-03-04 11:17:30 · 187 阅读 · 0 评论 -
记录面试中一些回答不够好的题(Vue 居多)
相关问题flex 布局 与 grid 布局。实现 Vue SSR 。从 SPA 使用最小成本迁移到 SSR 。实现方法: (未完成) 根据指定元素,在数组里面找出 ff 数组(ff 数组这个名字是我瞎说的)。比如数组 [2, 3, 6, 7] ,指定元素 7,则 ff 数组是 [2, 2, 3](2+2+3 = 7)和 [7]。若指定元素 6,则 ff 数组为 [2, 2, 2], ...原创 2018-03-04 14:44:17 · 874 阅读 · 0 评论 -
设计模式在 TypeScript 中的应用 - 策略模式
定义定义一系列的算法,把它们一个个封装起来,并且使它们可以相互替换。实现思路:创建表示各种策略的对象,和一个行为随着策略对象改变而改变的 context 对象。一个简单的加减乘例子:interface Compute { computeF (num1: number, num2: number): number}// 创建策略对象class ComputeAdd implements Com原创 2017-12-18 12:06:19 · 446 阅读 · 0 评论 -
设计模式在 TypeScript 中的应用 - 单例模式
定义只有一个实例,并提供全局访问。实现思路:用一个变量来标识当前是否已经为某个类创建过对象,如果是,则在下一次获取该类的实例时,直接返回之前创建的对象,否则返回新对象。饿汉模式特点:类加载时就初始化。class Singleton { private static instance = new Singleton() // 将 constructor 设为私有属性,防止 new 调用 pri原创 2017-12-18 12:05:42 · 5816 阅读 · 0 评论 -
设计模式在 TypeScript 中的应用 - 代理模式
定义代理模式是为一个对象提供一个代用品,或占位符,以便控制对它的访问。实现思路:把客户端真正调用的类和方法隐藏,只暴露代理类给客户端。简单点的例子:// 食品服务接口interface FootService { makeChicken (salt: string): void; makeNoodle (salt: string): void}// 食物接口class Foot {原创 2017-12-23 10:47:20 · 1083 阅读 · 0 评论 -
设计模式在 TypeScript 中的应用 - 观察者模式
定义当一个对象的状态发生改变时,所有依赖于它的对象都将得到通知。实现思路:指定发布者;给发布者添加一个缓存列表,用于存放回调函数以便通知订阅者;最后发布消息的时候,发布者会遍历这个缓存列表,依次触发里面存放的订阅者回调函数。例子:// 发布类class Subject { // 缓存列表,用以存放回调函数,以便通知订阅者 private observers: Observer[]原创 2017-12-23 10:45:49 · 490 阅读 · 0 评论 -
前端安全知识
原文连接 https://jkchao.cn/article/59de0283c52d5a4ba98b1f0dXSSxss: 跨站脚本攻击(Cross Site Scripting)是最常见和基本的攻击 WEB 网站方法,攻击者通过注入非法的 html 标签或者 javascript 代码,从而当用户浏览该网页时,控制用户浏览器。xss 主要分为三类:DOM xss :DOM即文本对象模型,DO原创 2017-10-12 11:11:44 · 519 阅读 · 0 评论 -
nuxt(vue) + koa + mongo 写blog的一次小结
两个多月的空余时间里,博客差不多搭完。 - 感谢surmon.me,此 blog 才会诞生。 - 感谢七牛云提供资源存储。 - 感谢腾讯云 提供 SSL 证书。 - 感谢各种开源。体验地址: https://jkchao.cn nuxt(vue) + koa + mongo 写blog的一次小结CLIENT: vue-blogADMIN: vue-adminSERVICE原创 2017-10-09 15:49:44 · 2737 阅读 · 2 评论 -
JavaScript 万物皆对象?
原文链接我的blog。为什么说“ JavaScript 万物皆对象?”,这个“万物”,难道真的是“万物”?其实不然。在 JavaScript 中一共有七种主要类型:StringNumberBooleanNullUndefinedSymbolObject前六种为基本数据类型,Object 为引用类型(对象类型),值得注意一点的是用 typeof null 会返回 Object,这实际原创 2017-05-28 09:14:44 · 3504 阅读 · 0 评论 -
写个vue-emoji.
最近公司需求做个类似于QQ空间的项目(其实开始的时候我是崩溃的),好在历时一个月的时间,也终于进入测试的阶段。 完成项目过程中,发现并没有一个好用的emoji插件,于是写了一个简单的component,希望对各位有所帮助(若能顺手给个start, 那便再好不过了)。原理其实很简单,雪碧图+背景定位的方式实现。源码地址: https://github.com/jkchao/vue-emoji原创 2017-04-26 10:44:20 · 4351 阅读 · 2 评论 -
谈谈 Object.prototype.toString 。
原文链接我的blog。前几日看到一个比较熟悉的面试题,判断一个变量是不是数组? 以下几种方法供参考:var arr = [1, 2, 3]Array.isArray(arr)arr instanceof Arrayarr.constructor === ArrayObject.prototype.toString.call(arr) === '[object Array]'...这篇文原创 2017-05-13 20:41:42 · 1309 阅读 · 1 评论 -
关于一些Vue的文章。(7)
原文链接我的blog,欢迎STAR。首先安利一波福利,有没有用vscode的小伙伴?推荐一个神奇的字体,自从用了这个字体,敲代码效率简直上天了。先上图看看效果:还有其他许多,就不一一列举出来了。 有没有看上了的? 没有我等下再来问。这次推荐的一篇文章来自这,阅读文章有利于加深对Vue程序结构的了解,虽然是 1.0版本,不过好在 2.0 版本保留了绝大部分 1.0 的API。在这篇文章里我将是这原创 2017-04-23 08:28:38 · 389 阅读 · 0 评论 -
关于一些Vue的文章。(6)
原文链接我的blog,欢迎STAR。在上篇里,我们已经分析了在 main.js 可以通过el属性设置挂载点,又可以通过手动设置 vm.$mount()。在这篇,我们深入底层,了解原理。老规矩,我们先分享一篇文章 Vue.js 源码学习笔记。这篇文章里反复提到了compile, 额….(什么鬼?手动摊手。)查 Vue,官网文档, 原来Vue模板编译成render函数的过程叫做 compile。现在入原创 2017-04-23 08:27:23 · 5719 阅读 · 0 评论 -
关于一些Vue的文章。(5)
原文链接我的blog,欢迎STAR。前三篇里,我们开始从render, template, el的渲染DOM树的优先级,最终都编译成render函数,而后得到vnode(虚拟DOM),经过diff算法后,得到真实DOM。那么问题来了?得到真实DOM以后接下来该做什么?以及怎么做?照例,分享一篇文章,vue。(官网,暂时还没有找到一篇文章能比较好的解决上述几个问题,so,我们带着问题出发,直接上官网原创 2017-04-03 21:30:05 · 315 阅读 · 0 评论 -
Microtasks队列
在进一步学习到promise的时候,发现当初认识的太浅,原来还存在Micritasks这东西。基本macrotasks == task != microtasks执行他们可以简单的总结为:首先把task中的第一个任务放到stack, 并执行, 执行完毕;开始执行microtask队列中的全部任务,执行完毕下一个循环,执行下一个task中的任务,重复第二步。我们来看一张模拟图:Task:就是原创 2017-03-05 08:20:47 · 1490 阅读 · 0 评论 -
深入理解 TypeScript
此书是 TypeScript Deep Dive 的中文翻译版,感谢作者 Basarat 的付出。Why 数据来源:npm 包下载量正如你所见,TypeScript 发展至今,已经成为大型项目的标配,其提供的静态类型系统,大大增强了代码的可读性以及可维护性;同时,它提供最新和不断发展的 JavaScript 特性,能让我们建立更健壮的组件。TypeScript...原创 2018-08-26 21:12:32 · 1164 阅读 · 0 评论