随笔分类 - [10]JS
-
js模板引擎
摘要:js模板引擎,哪个好js模板引擎模板引擎是为了使用户界面与业务数据(内容)分离而产生的,它可以生成特定格式的文档,用于网站的模板引擎就会生成一个标准的HTML文档。js模板引擎包括如下:template官方参考:http://aui.github.io/artTemplateBaiduTemplate官方参考:http://baidufe.github.io/BaiduTemplatejuicer官方参考:http://juicer.namedoT官方参考:http://olado.github.io/doTkissy官方参考:http://docs.kissyui.com和https://g 阅读全文
-
jQuery插件开发的模式和结构
摘要:jQuery插件开发一般来说,jQuery插件的开发分为两种:一种是挂在jQuery命名空间下的全局函数,也可称为静态方法;另一种是jQuery对象级别的方法,即挂在jQuery原型下的方法,这样通过选择器获取的jQuery对象实例也能共享该方法。一、在讲解jQuery插件基本结构和模式前,先介绍下两个重要的方法,还有不知啥原因,代码无法折叠,导致整体篇幅稍微有点长,阅读时请加点耐心:1、$.extend(target, [object1], [objectN])该方法主要用于合并两个或更多对象的内容(属性)到第一个对象,并返回合并后的第一对象。如果该方法只有一个参数target,则该参数将扩 阅读全文
-
迷你 MVVM框架avalon的使用教程
摘要:迷你 MVVM框架avalon的使用教程最近有许多人问我怎么用这东西,如果是那些用过knockout的人还好,之前没有接触过MVVM的人可能一头雾水。大多数人被我那个jquery ui的演示吸引过来,都深感它的威力之大。这里详细介绍一下它的用法吧。第一步,当然是引入avalon库,就像引入jQuery库那样,当然要从官网下。现在avalon的地址为这个,只要这个文件就好了,当然旁边还有个avalon_min.js。第二步,是创建ViewModel,就是MVVM最后那两个字母的全称。它是M的再包装,用于自动同步视图,当然视图也能自动同步VM。VM与V这 种双向绑定的特性非常诱人,可以让我们少写无 阅读全文
-
Npm的配置管理及设置代理
摘要:Npm的配置管理及设置代理npm全称为Node Packaged Modules。它是一个用于管理基于node.js编写的package的命令行工具。其本身就是基于node.js写的,这有点像gem与ruby的关系。在我们的项目中,需要使用一些基于node.js的javascript库文件,就需要npm对这些依赖库进行方便的管理。由于我们的开发环境由于安全因素在访问一些网站时需要使用代理,其中就包括npm的repositories网站,所以就需要修改npm的配置来加入代理。下面简要介绍下npm的配置以及如何设置代理。npm获取配置有6种方式,优先级由高到底。命令行参数。--proxy http 阅读全文
-
XMLHttpRequest对象(续篇)
摘要:XMLHttpRequest对象(续篇)—— 生命中最可贵的东西永远是时间,多挤点时间充实自己,别再肆意糟蹋青春。 接着昨天的内容。前面说的4个重要的步骤,已经都得到实现,在这里XMLHttpRequest还有两个方法,setRequestHeader()方法设置HTTP请求的头信息。abort()方法终止正在进行中的请求。一般极少这样做,并且终止之前,应当先清除onreadystatechange事件处理程序。(指派一个空函数给onreadystatechange,若给它null值,会发生难以预料的错误) xhr.setRequestHeader(header, value),调用此方法.. 阅读全文
-
学习 easyui:禁用 linkbutton 问题
摘要:学习 easyui 之四:禁用 linkbutton 问题1.问题的起源linkbutton 是 easyui 中常用的一个控件,我们可以使用它创建按钮。用法很简单,使用 a 元素,标记上 easyui-linkbutton 的类就可以看到按钮了。<a id="btn" class="easyui-linkbutton">这是一个按钮</a>看起来就是这个样子或者使用代码方式。$("#btn").linkbutton();不过,点了也没有作用,如果希望有作用,那么,再为它添加一个事件处理吧。通常你会使用 jQu 阅读全文
-
avalonjs v6.1发布
摘要:迷你MVVM框架 avalonjs v6.1发布,性能大幅提高本次更新,带来了几个新API与在IE6的更好性能。添加ms-css绑定,用法为ms-css-xxx=yyy, 相当于jQuery的$el.css(xxx,yyy)操作,不同的,以后yyy有什么改动,框架都是自动帮你处理。添加非常好用的html过滤器,即{{ xxx | html}} 相当于原来的 ms-html="xxx",不同的是ms-html是直接使用innerHTML,会替换掉原元素的所有子节点,而html过滤器只对原子节点进行替换,不会伤及无辜。重构ready,原来的对document.readyStat 阅读全文
-
使用avalon MVVM框架打造整一套jquery ui
摘要:使用avalon MVVM框架打造整一套jquery ui为了验证avalon的可用性与高效性,我用它重新实现jQuery ui。打造过程如下,直接到jQuery ui官网,查看它们的运行效果,不看其JS源码,然后取其HTML结构修改。使用了MVVM编写代码,能保证你思维清晰畅顺,不用在DOM逻辑与数据处理中跳来跳去,因此带来比jQuery还强大的革命性生产效率。仅用一天,实现8成以上的功能,而且JS代码量非常少,都是原来的百分之几至十之间。基本上,现在avalon的源码挑不出什么毛病。以后从mass分离出ajax,effect等模块来,构建成avalon的一个组件,这些UI组件的可用性就更高 阅读全文
-
QuoJs 官方文档(汉化版)
摘要:QuoJs 官方文档(汉化版)作者:一只猿原文地址:http://www.92ez.com转载请注明出处,谢谢帮助说明如果您认为QuoJS只是一个触摸事件管理器,那你就错了,它是一个功能丰富的类库,无需第三方JavaScript库(例如 jQuery, Prototype, Kendo ...)来创建基于浏览器应用程序的复杂项目。项目地址:http://quojs.tapquo.com/如何使用QuoJS使用的命名空间是$$,所以如果你需要的话,你还可以使用其它的JavaScript类库例如(jQuery,Zepto...)使用通用符号$。?1234567891011// Find all & 阅读全文
-
使用avalon MVVM框架打造jquery ui的日历
摘要:使用avalon MVVM框架打造jquery ui的日历我直接把jquery datepicker的结构抄过来,类名也照搬。于是一个换肤的日历就诞生了。<divms-controller="datepicker"><divid="ui-datepicker-div"class="ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all"style="display:block"> <divcl 阅读全文
-
函数、递归 与 闭包(执行环境、变量对象 与 作用域链)
摘要:函数、递归 与 闭包(执行环境、变量对象 与 作用域链)函数表达式1、JavaScript中定义函数有2钟方法: 1-1.函数声明:function funcName(arg1,arg2,arg3){ //函数体} ①name属性:可读取函数名。非标准,浏览器支持:FF、Chrome、safari、Opera。 ②函数声明提升:指执行代码之前会先读取函数声明。即函数调用可置于函数声明之前。 1-2.函数表达式:var funcName = function(arg1,arg2,arg3){ //函数体}; ①匿名函数(anonymous function,或拉姆达函数... 阅读全文
-
初探CoffeeScript1
摘要:初探CoffeeScript(一)CoffeeScript是一个轻量化的程式语言,用来产生JavaScript的一种编译器。CoffeeScript 能编译成简洁、高效的 JavaScript,能清楚地看到正在编译的内容,它能完全编译成函数式 JavaScript,不需要任何类型的运行时库。CoffeeScript 所提供的语法允许您充分利用 JavaScript 的强大功能,而只需要较小的运行时开销。CoffeeScript的语法特点:不像js,它不用大括号,直接用排版方式定义区块(tab)CoffeeScript的优势:● 提供一种比较简单的语法,减少了样板代码,诸如括号和逗号●使用空格作 阅读全文
-
Express作为Node.js的开发框架
摘要:跻身于脚本语言世界的一等公民的行列,官网:http://www.nodejs.org。 Express作为Node.js的开发框架,目前也是最稳定,使用最广泛,而且Node.js官方推荐的唯一一个Web开发框架,毫无疑问首选开发框架就是它了,官网:http://expressjs.com。 那么接下来,构建一个node.js+express的开发环境将是一切的开始。 系统环境:windows8(32位),windows7(32位) 1.安装node.js。 进入官网的下载地址:http://www.nodejs.org/download/。 选择Windows Installer... 阅读全文
-
NodeJs:“require” 函数详解
摘要:NodeJs:“require” 函数详解,懂这个你就懂NodeJs了背景一直想在服务器端使用一种语言,ruby、phthon和php也都学过,对于我来说使用这三种语言需要一定的上下文切换成本。正在我纠结的时候,NodeJs出现了,而且我自信对Javascript还是比较熟悉的,因此就准备学习一下NodeJs。这样我的语言组合为:C#、Javascript和NodeJs,全是C Style,几乎没有切换成本。NodeJs网上关于NodeJs的论述很多,此处不多说。个人认为,NodeJs的编程思想和客户端Javascript保持了一种理念,没有什么变化,只是增加了“require()”函数,因此 阅读全文
-
Sencha Cmd 介绍
摘要:Sencha Cmd 介绍背景本来不打算写这篇文章的,但是按照官方文档的介绍,还是会出现一些问题。该文章就是简洁的介绍一下如何使用Sencha Cmd及其注意事项。官方文档Introduction to Sencha CmdUsing Sencha Cmd with Ext JS 4.2+Compiler-Friendly Code GuidelinesWorkspaces in Sencha Cmd环境要求Java Run-time Environment or JRE,版本>=6.0。Ruby,不要下载最新版,Ruby 1.9.3-p392可以。Sencha Cmd。Ext JS S 阅读全文
-
迷你MVVM框架 avalonjs v5.1发布,性能大幅提高
摘要:迷你MVVM框架 avalonjs v5.1发布,性能大幅提高早在avalon在IE与firefox有较为严重的性能问题,chrome等则由于它们太逆天因此看不出。主要原因是动态插入节点时,each由于一些帮方法考虑不周,结果不得不逐个插入,虽然使用了nextTick进行缓冲,但延迟明显。然后avalonjs v5把大体的架构完成了,然后重点改良这些方法了。在v5.1中所有延迟都没有了,即便在IE6下也很接近之前在chrome的运行效果。算是一次非常出色的改进。1, addItemView方法不再逐个复制,逐个插入了。//原来functionaddItemView(index, item, d 阅读全文
-
最小化JAVASCRIPT和CSS
摘要:最小化JAVASCRIPT和CSS前言网站设计的优化是一个很大的话题,有一些通用的原则,也有针对不同开发平台的一些建议。这方面的研究一直没有停止过,我在不同的场合也分享过这样的话题。作为通用的原则,雅虎的工程师团队曾经给出过35个最佳实践。这个列表请参考 Best Practices for Speeding Up Your Web Sitehttp://developer.yahoo.com/performance/rules.html,同时,他们还发布了一个相应的测试工具Yslowhttp://developer.yahoo.com/yslow/我强烈推荐所有的网站开发人员都应该学习这些最 阅读全文
-
callParent
摘要:Javascript:继续实现继承,支持:this.callParent(arguments)背景在上篇文章中,我简单的介绍了如何实现单继承。只是在子类中调用父类方法的方式让人感觉不是很爽:1 var Animal = function () {2 Animal.super().constructor.apply(this, arguments);3 };今天这篇文章的目的就是简化这种调用方式,期望的调用方式如下:1 var Animal = function () {2 this.callParent(arguments);3 };如何实现callParent呢?只要做到如下... 阅读全文
-
Javascript:图形解释如何实现“ 单继承 、多继承 、掺入 “
摘要:Javascript:图形解释如何实现“ 单继承 、多继承 、掺入 “前提知识Javascript:必须知道的Javascript知识点之“原型链”Javascript:必须知道的Javascript知识点之“this指针”Javascript:用 "脑图软件" 学习 “面向对象”几个内置核心方法学习代码示例 1 var Base = function (name) { 2 this.name = name; 3 }; 4 5 var base = new Base(); 6 7 console.log((base instanceof Object));//true 8 阅读全文
-
JSON (JavaScript Object Notation对象表示法)
摘要:JSON——《JavaScript高级程序设计》笔记JSON (JavaScript Object Notation对象表示法) 一种结构化数据的格式,与JavaScript有相同的语法形式,但不属于JavaScript。支持多种编程语言。1、语法 JSON有3种类型的值:简单值、对象 和 数组。 简单值:字符串、数值、布尔值、null (JSON不支持JavaScript的特殊值undefined) 对象:一组无序键值对。值可为简单值,或对象和数组。 数组:一组有序键值对。值可为简单值,或对象和数组 JSON不支持变量、函数 和 对象实例。1-1、简单型 JSON字... 阅读全文