------【JavaScipt】
文章平均质量分 63
独孤文彬
人生的转折从大米时代开始
展开
-
JavaScript——如何构建自己的JS库?
一:为什么要构建JS库? 当然,能够更好的实现以后代码的复用,最终达到高效开发的目的。比如我们所见的比较大型和优秀的库。JQuery、Prototype等……里面包含了很多小而精悍的小函数。使用自己库中这些小函数不但让我们的代码更加简单,而且可读性大大增强。原创 2015-12-14 12:16:24 · 2565 阅读 · 14 评论 -
JavaScript进阶设计模式系列——基础篇——闭包(5)--命令模式的两种实现方式
在面向对象的世界中,过程和数据是一个经常被使用的表达方式。对象,通过方法的形式包含着过程,而闭包则是在过程中以环境的形式包含了数据,因此,只要是用面向对象思想实现的东西,基本上用闭包的思想也能实现。下面,咱们看一则实例,分别使用面向对象形式来实现的写法和使用闭包形式的写法。面向对象的写法<!DOCTYPE html><html lang="en"><head> <meta charset原创 2017-06-27 14:56:29 · 522 阅读 · 8 评论 -
JavaScript进阶设计模式系列——基础篇——闭包(4)--闭包和面向对象的设计
引言:在面向对象的世界中,过程和数据是一个经常被使用的表达方式。对象,通过方法的形式包含着过程,而闭包则是在过程中以环境的形式包含了数据,因此,只要是用面向对象思想实现的东西,基本上用闭包的思想也能实现。下面,咱们看一则实例,分别使用面向对象形式来实现的写法和使用闭包形式的写法。面向对象的写法传统写法之一: var cat = { name : 'mimi',原创 2017-06-27 09:30:35 · 432 阅读 · 8 评论 -
JavaScript进阶设计模式系列——基础篇——闭包(3)--闭包的作用
闭包的作用通常咱们使用闭包,有两种场景。一是封装变量。二是延续局部变量的寿命。封装变量我们来看一段封装前的一端代码,用来实现乘法的一个函数。封装前var cache = {};var mult = function () { var args = Array.prototype.join.call(arguments,','); if(cache[args]){ re原创 2017-06-26 16:47:50 · 488 阅读 · 6 评论 -
JavaScript进阶设计模式系列——基础篇——闭包(2)--闭包和生命周期
生命周期和闭包局部变量其生命周期,将会随着函数调用的结束而结束掉其生命,也就是内存被销毁。而全局变量则不会,它是永久存在的,除非我们主动销毁全局变量。但是试着看一下如下一段代码,你会发现一个很神奇的事情!局部变量a 竟然没有被销毁!var func = function(){ var a = 1; return function(){ a ++ ; c原创 2017-06-26 16:03:15 · 1294 阅读 · 6 评论 -
JavaScript进阶设计模式系列——基础篇——闭包(1)--闭包和作用域
闭包在JavaScript中,它是一个初学者闻之色变的概念,但它又是一个我们进阶JavaScript中必须要克服的一个概念。其实,话说回来,也没有辣么难。它和两个基本概念有关系。首先,咱们来看看JavaScript重的作用域和生命周期。作用域和闭包作用域:指变量的作用范围在JavaScript中,我们通常使用var 来声明和定义一个变量。在一个函数中,如果咱们不使用var 声明变量,那么这个变量就会原创 2017-06-26 16:02:01 · 436 阅读 · 7 评论 -
转《别再使用JavaScript框架了》
JS框架看上去就像死亡和纳税,必然发生,无法避免。如果我能变成一只苍蝇趴在墙上,我就能确定每次启动一个新项目的时候,他们讨论的第一个问题肯定是:我们要用哪个JS框架?这种场景反映了当今JS框架的角色在行业里是多么根深蒂固不可动摇。但其实这种形势并非是必需的,而且实际上,这种做法需要制止。让我们先回顾一下我们是怎么一路走来的。Angular 和 Backbone 还有 Ember,我滴个天哪。 长期原创 2016-10-13 22:09:23 · 1226 阅读 · 18 评论 -
JavaScript——调试小技巧之——各种console命令,你get了么?
前不久,看了github上对于2016年最受欢迎的编程开源项目。瞬间惊呆了。JavaScript竟然排名第一!!!好吧,从现在开始,好好对待任何可能提高自己JavaScript编程能力的文章吧。下面开始分享各种纯干货。 1、显示信息: 2、分组显示 3、查看某个对象的信息! 4、占位符的使用 5、跟踪函数执行(逻辑梳理,好帮手) 6、计时功能(性能调优利器)原创 2016-09-26 17:46:26 · 807 阅读 · 23 评论 -
JavaScript——扩展Date对象,自定义一个dateDiff函数
这段时间在项目中,前台的数据处理过程中,遇到了一个问题。将两个日期进行相加减,找了一圈,API中愣是没找到这个方法。无奈只好用扩展函数的形式来解决问题了。思路:自定义一个DateDiff函数,然后通过property来进行对象扩展。让Date对象拥有这个功能。其实,说白了这是js插件的思想啊!呵呵原创 2016-08-27 10:35:08 · 1417 阅读 · 21 评论 -
那些被漏掉的JQuery总结(五)——函数声明、函数表达式、匿名函数(立即执行、自执行)
由于avascript中没用私有作用域的概念,如果在多人开发的项目上,你在全局或局部作用域中声明了一些变量,可能会被其他人不小心用同名的变量给覆盖掉,根据javascript函数作用域链的特性,可以使用这种技术可以模仿一个私有作用域,用匿名函数作为一个“容器”,“容器”内部可以访问外部的变量,而外部环境不能访问“容器”内部的变量,所以( function(){…} )()内部定义的变量不会和外部的变量发生冲突,俗称“匿名包裹器”或“命名空间”。这也就是使用闭包和匿名函数的意义所在了。原创 2016-06-04 09:41:37 · 1118 阅读 · 11 评论 -
advanced JavaScript Skills ——Require.js(二)
使用Requirejs来提高我们的前台代码质量,从现在开始,在你的项目中,大胆去尝试吧!使用它,你能够。(1)实现js文件的异步加载,避免网页失去响应;(2)管理模块之间的依赖性,便于代码的编写和维护。原创 2016-05-08 22:45:46 · 1362 阅读 · 13 评论 -
那些被漏掉的JQuery总结(一)——Window.Onload和document.ready的对比(补充Page_load)
由于在 $(document).ready() 方法内注册的事件,只要 DOM 就绪就会被执行,因此可能此时元素的关联文件未下载完。例如与图片有关的 html 下载完毕,并且已经解析为 DOM 树了,但很有可能图片还没有加载完毕,所以例如图片的高度和宽度这样的属性此时不一定有效。要解决这个问题,可以使用 Jquery 中另一个关于页面加载的方法 ---load() 方法。 Load() 方法会在元素的 onload 事件中绑定一个处理函数。如果处理函数绑定给 window 对象,则会在所有内容 ( 包括窗口原创 2016-05-12 11:37:16 · 879 阅读 · 15 评论 -
那些被漏掉的JQuery总结(三)——关于前台的数据计算问题
如果你的项目中涉及到计算的话,那么你大概要考虑到如下几个方面的内容:1、数据类型2、是否需要千分位显示?3、四舍五入的问题?4、输入过滤的问题(保证合法性)原创 2016-05-18 22:25:01 · 1364 阅读 · 23 评论 -
advanced JavaScript Skills ——Require.js(一)
RequireJS is a JavaScript file and module loader. It is optimized for in-browser use, but it can be used in other JavaScript environments, like Rhino and Node. Using a modular script loader like Requir原创 2016-03-22 20:40:32 · 786 阅读 · 17 评论 -
Web之旅第五站--JavaScript
导图简介 主要是从,What,Why,来进行宏观的总结。对于其核心的内容做一个归纳。ECMAScript中的东西,尤其要注意,是基础,相当的重要。DOM操作的理解,直接影响你的开发效率和水平。BOM模块的了解,将让你能自己写出兼容性更好的JavaScript代码。 PS:JavaScript从一开始的出现只出现在客户端的HTML页面做一些简单的验证,到现在发展到能够在服务器端发挥更加强大的功能。尤其是在Node.js环境出来之后,让JavaScript这门解释型的编程语言开始愈加强大!近两年来非常受原创 2016-02-02 08:25:24 · 1056 阅读 · 17 评论 -
JavaScript——常见的几类JS问题
背景: 在学习JS的过程中,我想很多同胞应该曾经和鄙人有同样的感受。“咦!怎么TMD效果没出来呢?也没有个提示!到底TM哪里出错了……!” 然后转半天,对源码看半天,哦,原来是这么回事儿……WK!原创 2016-02-02 14:51:26 · 794 阅读 · 8 评论 -
Web项目的前台兼容性问题--宏观篇
所谓的浏览器兼容性问题,是指因为不同的浏览器对同一段代码有不同的解析,造成页面显示效果不统一的情况。在大多数情况下,我们的需求是,无论用户用什么浏览器来查看我们的网站或者登陆我们的系统,都应该是统一的显示效果。所以浏览器的兼容性问题是前端开发人员经常会碰到和必须要解决的问题。原创 2016-01-11 16:06:18 · 1889 阅读 · 13 评论 -
JS--构建自己的函数库之——浏览器兼容问题处理(持续构建中……)
在使用JS的过程中,我们往往会头疼于各个浏览器的兼容性问题。究其根本是行业标准不统一的问题,一般来说现在是两大阵营:一个IE,另一个是W3C。IE凭借着和Windows的捆绑从而达到了一个高的市场占有率。事实上很多时候W3C标准下的JS学习相对更加容易些,而且大部分的浏览器,比如:谷歌、火狐等,也是W3C忠实fans。目前为止还没达到统一。那么作为开发人员来说,要开发一个通用性好的Web服务,前台的显示就是一个头等大戏了!自然而然这个兼容性的问题要被提到日程上来了。为此,开始构建自己的JS跨浏览器兼容函数库原创 2015-12-23 11:23:26 · 1059 阅读 · 31 评论 -
javaSE_8系列博客——集合——简介部分
集合(有时称为容器)仅仅是将多个元素组合成一个单元的对象。集合用于存储,检索,操纵和传达聚合数据。通常,它们表示形成自然组的数据项,例如扑克牌(卡片集合),邮件文件夹(字母集合)或电话簿(名称与电话号码的映射)。如果您使用Java编程语言 - 或任何其他编程语言,您已经熟悉了集合。什么是集合框架?集合框架是用于表示和操作集合的统一架构。所有集合框架包含以下内容:接口:这些是表示集合的抽象数据类型。翻译 2017-06-28 08:37:55 · 335 阅读 · 6 评论