JavaScript
学习JavaScript前端知识,包括JavaScript对象、函数、方法和属性,编写基础JavaScript代码,分享JavaScript资源等
javascript组件化
作为一名前端工程师,写组件的能力至关重要。虽然javascript经常被人嘲笑是个小玩具,但是在一代代大牛的前仆后继的努力下,渐渐的也摸索了一套组件的编写方式。本文分享了在现有的知识体系下,如何很好的写组件。
30 seconds of code 30秒就能理解的JavaScript优秀代码
本文来自github上的 30-seconds-of-code 项目,作者分享了大量有用的Javascript片段,你可以在30秒或更少时间中理解。本文为中文版翻译,下面一起来看看有哪些精彩的JavaScript代码值得收藏。
判断移动设备的横屏和竖屏最佳方案
之前写的文章:使用JavaScript判断手机是处于横屏还是竖屏,最近的一个项目需要判断这个,但在chrome的调试模式中发现横屏和竖屏使用上面的代码并不能检测到,所以我认真做了一些了解,本文分享一个合适的代码来判断横屏和竖屏。
JavaScript数组浅度拷贝和浅度拷贝的实现
一般情况下,使用 “=” 可以实现赋值。但对于数组、对象、函数等这些引用类型的数据,这个符号就不好使了。本文讲解利用js原生已实现的方法,我们就可以不用自己写循环实现数组的拷贝复制。
jQuery的$.extend实现的拷贝和其它库实现的比较
很早就使用jQuery的$.extend({},obj1,obj2)来合并两个对象,原来jQuery的这个方法就是深度拷贝($.extend(true,{},obj1))和浅度拷贝的意思,这篇文章分享了 Underscore、lodash 和 jQuery 这些主流的第三方库对于深度拷贝和浅度拷贝的实现与区分。
javascript中的深拷贝和浅拷贝区分以及实现
浅度拷贝:复制一层对象的属性,并不包括对象里面的为引用类型的数据,当改变拷贝的对象里面的引用类型时,源对象也会改变。深度拷贝:重新开辟一个内存空间,需要递归拷贝对象里的引用,直到子属性都为基本类型。两个对象对应两个不同的地址,修改一个对象的属性,不会改变另一个对象的属性。
requestAnimationFrame详解以及无线页面优化
window.requestAnimationFrame() 方法告诉浏览器您希望执行动画并请求浏览器调用指定的函数在下一次重绘之前更新动画。该方法使用一个回调函数作为参数,这个回调函数会在浏览器重绘之前调用。
前端js保存页面为图片下载到本地的坑
前端保存页面为图片,最常见的方案都是利用html2canvas来生成图片,同时利用HTML5的新属性download来点击保存到本地,来看看这些地方前端做会有什么坑?
使用 JavaScript 创建并下载文件
前端很多项目中,都有文件下载的需求,特别是JS生成文件内容,然后让浏览器执行下载操作(例如在线图片编辑、在线代码编辑、iPresst等)。HTML5中给a标签增加了一个download属性,只要有这个属性,点击这个链接时浏览器就不在打开链接指向的文件,而是改为下载(目前只有chrome、firefox和opera支持)。
js代码压缩还原详解
看别人的js代码,现在很多代码都是压缩过后的,读起来很费劲,本文推荐一篇详解UglifyJS压缩代码过后的简写方式,理解它的压缩原理,就可以很方便的还原出代码的原来作用。