实现一个LazyMan,可以按照以下方式调用:
LazyMan(“Hank”)
输出:Hi! This is Hank!
LazyMan(“Hank”).sleep(10).eat(“dinner”)
输出: Hi! This is Hank!
奔跑的Q丶
主题凑合用,样式即将改版...
多栏布局
2016 年终总结
又到了新的一年,总结一下过去的 2016 。翻看年初所定的目标,虽说有些没有很好的完成,然而还是觉得能给这一年打 80 分。此时我刚刚踏入前端一年半,真正参加工程化的项目不足一年,但恰恰是今年让我系统的理解了前端,对工作也更加游刃有余。
理解 JavaScipt new 操作符
在《JavaScript 高级程序设计》中提到使用 new
操作符会经历 4 个步骤:
(1) 创建一个新对象;
(2) 将构造函数的作用域赋给新对象(因此 this 就指向了这个新对象);
(3) 执行构造函数中的代码(为这个新对象添加属性);
(4) 返回新对象。
jQuery FormData 的 Ajax 提交
前些天恰好遇到用 jQuery 提交一个上传的文件一直出错,这里记录一下原因。
我们的项目本身是使用了 vue 的,但是历史原因同时也保留了 jQuery ,然后项目中用 Promise 重新封装了 jQuery 的 Ajax 方法。之前有一个共用的 upload 的上传组件,里面使用了原生 XHR ,没有遇到上传文件的问题,但是我在使用 jQuery 的 Ajax 时却怎么都办法上传,检查发现是 content-type
导致的问题。
HTML5 图片预览
在没有 HTML5 之前,前端的图片预览都是在用户选择图片后就发 Ajax 到服务端,然后由服务端再把图片的 URL 返还给前端来完成的。有了 HTML5 后,在 IE10 以上及代浏览器的版本中我们便无须发请求获得 URL 来完成预览了。这些将依靠 FileReader
来实现。
JavaScript 的复制操作
jQuery 插件写法
在当前的前端时代,react,vue等框架配合ES6满足了日常的多数开发需求,但是了解jQuery的插件开发在我们开发一些小型项目中还是很有用处。我们可以打造自己的插件达到复用的效果。
去除 select 等标签默认浏览器样式
去除select等标签默认浏览器样式的方式:
1 | select { |