`
achun
  • 浏览: 306788 次
  • 性别: Icon_minigender_1
  • 来自: 河南郑州
社区版块
存档分类
最新评论
文章列表
JavaScript Common Templates 第三版简要文档 文档文法描述 : 对于要描述的对象使用如下文法 name:type||example description 调用 :创建一个jCT的实例,此实例具有自己解析/执行模板的能力 var jct = new jCT(txt,path); 参数 : txt:"" ...
做Web应用,页面上的元素(Element),常常要进行一些特殊的处理, 比如增加特效,处理innerHTML等等。 举个例子: jQuery有一个插件lavaLamp ,可以做出漂亮的菜单。 使用的时候,除了写好css,设置好style,就是调用: $(elm).lavaLamp(options); /*elm是对应的元素,具体写法可以用#ID等jQuery选择器,options就是参数了参加lavaLamp的说明*/  对于这个需求,这个用法是无可非议的。 但是向这样要先筛选元素然后再进行不同除了的需求,在某些应用中可能有大量的需求。 如果一个个的写选择器,为元素设置特殊的ID或属性是很麻烦 ...
修正后的Mixin function inMixin(){ var ths=this,i=0; if (ths==window){ ths=arguments[0];i=1; } if(ths==null) throw "this is undefined"; if(i==arguments.length){ ths.mixin=inMixin; return ths; } for (;i<arguments.length ;i++){ for (var a in arguments[i]){ ths[a]=arguments[i][ ...
在写这篇文章的时候我相信很多朋友都不明白我在说什么,会奇怪我这样的思路,问题就在这里,我的这种思路很难被认同.但是这种思路开发起来真的很快.请耐心看完所有的文章.   jCT发展到目前的第三版.除了jCT本身的变化外.我在使用的时候整个设计思路也都改变了. 对于模板技术来说,绝大多数是平面化,顺序化.也就是说 1.模板的结构和页面表现的结构一致--------------------平面化 2.模板成为视图的时候数据的装配是顺序进行的--------顺序化 (这个说法看了我下面的实现就会明白)   下面是我准备重新写的nicEditor打包工具模板部分.(注意<!---xxx--& ...
javascript 中递归的使用也是常见的.比如遍历DOM树. 在我们熟悉的js框架(jQuery,prototype等)中都有递归的身影. Mixin在很多语言里都有实现,对于动态的javascript实现更是简单,只不过是成员赋值就行了. 那么这两者有什么联系?兼容又从何而来? 代码说话: function foo1(c){ alert(c+a +':'+(this.constructor));//这里的信息足以说明不同了 a++; if (a>1) return;//跳出递归 foo1(c);//直接递归 } function foo2(c){ alert(c+ ...
如果在一个函数中,我们需要的数据是要从ajax获取。如果用ajax同步 的方法,浏览器会挂起,这是一个很讨厌的事情。 而ajax异步 在浏览器中的实现是立即返回的,而我们要的数据还没有被获取。 那用ajax异步 的 ...
重新进行了设计,抛弃了所有重新定义javascript固有语法的方法,这样也就是无招胜有招 了, 而且可方便自定义标记 ,没有精力写注解和用法了.直接贴源代码(初稿)吧:(请在FF下测试,还没有调整IE的兼容性) 细心的朋友应该可以看出来,不同标记之间是可以转换的. /** * javascript Common Templates(jCT) 3(第3版) * http://code.google.com/p/jsct/ * * licensed under the MIT license. * http://www.opensource.org/licenses/mit-licens ...
jCT 第三版的设计目标:   0.保留二版的原有功能 1.解决编辑器中高亮语法的问题 2.在线修改模板成为可能(配合其他工具) 3.即改即用(配合其他工具),应该叫及时编译JIT 4.更精简的实现   为达到上述目标,计划采用如下技术手段:   1.语法标签变更:   <script type="jct"> </script> <code lang="jct"> </code>  2.属性增加:src  3.语法变更:完全采用javascript原始语法  4.扩充语句:所有扩冲均采用:/*+扩充语句*/ ...
一直以来,大家做web,从B向S提交复杂数据用的都是form. 为什么?这还用想,天经地义,form就是干这个的。 但是,现在更多的ajax 应用提交的时候仅仅是用form来创建提交数据,提交行为如何实现已经不用我们担心了。 nicEdit的inline 特性为我们创建提交数据提供了新的选择。 问: ajax提交的数据一定要用 form创建吗?--------------------------------------不! 除了textarea就不能从div,p...其他Element中来取要提交的数据吗?------能!   ajax提交当然不完全依赖form或者form元素了,ajax提交关 ...
探讨一下,如有纰漏请指正. 认识在前面:先给出我们讨论的结果 =========================================== javascript是基于原型(prototype-based )的语言. javascript具有面向对象(Object-Oriented )的编程风格. 变量不一定是对象(undefined,null等就是特例,但是NaN是个对象) 对象一定有值,也有成员(函数,属性) Object不是顶级的,因为可以delete Object 顶级 的有: Array Object Boolean Object Date Object Functi ...
题的提出 : jCT模板属于前后台分离的设计. 对于前后台分离的设计. S根据B提出的请求,发送原始数据,S不需要对表现层有任何控制,降低了B,S的耦合度. 这种降低了B,S的耦合度方法,本质上是降低了 数据内容 上的 耦合度 ,仅仅把表现层的控制数据分离出去了. 由于请求和数据直接影响到表现,表现 是 业务逻辑 的最直接体现,但是 这两个词不能画等号.因此我们用表现逻辑 这个词.暗示表现和业务逻辑是关联比较密切的. 当 表现逻辑 变化的时候,势必要 改变 后台数据内容 的组合结构,我们的问题就是 如何降低前后台
这是早期的版本,已经废弃,新的版本请看 我博客里的jCT专题 ,或者jCT开源主页示例 里面有最简单的例子   ================================================ 扩充了3个重构功能的语法.同时取消了 FixDat,ViewBefore,ViewAfter 目的:更灵活的适应应用的变化 main: 自定义jCT生成对象的内部实现,用了语法,下面两个就可以不用了 entry: 自定义jCT生成对象的内部实现的入口部分 outlet: 自定义jCT生成对象的内部实现的出口部分 首先 jCT生成的函数结构类似如下: function (CTD) ...
nicEditor是一个不错的online式所见即所得编辑器. 为了方便开发,我集成了这个简单的打包工具. 对目录的解释 demos:nicEditor的几个演示 niceditdl:从nicEditor主站改造的下载页面 packer:js压缩工具 src:nicEditor的原代码 打包需要后台的支持,我这里提供了一个php的实现. nedl.php5就是这个文件. 需要另外说明的是: 1.src/nicFileExplore是我自己扩展的一个文件管理器,用法比较麻烦,可以忽视. 2.zh-CN.js是我对nicEditor的本地化. 3.nicEditor的原代码已经是基于Version ...
学习了bkLib.js的实现后,让我们回顾一下BK都做了什么. bkLib.js里的内容似乎和所见即所得编辑器没有直接的联系. 是的.BK在这个文件中做的是一些基础的工作,涉及了 Class,Event,lib(常用函数库)和closure 这几个方面是我们编程工作中广泛的基础,这些工具是可以被广泛使用的. 这个设计中的实现代码结构清晰,简洁,基础.真的是为我们广泛使用打下了一个很好的基础. 扩充起来也容易.这也是作者在命名的时候起bkLib这个名字的原因了. 在我们继续进行之前,建议大家先看看nicEdit的 Demo 下次我们将进入正题.(汗其他代码我还没有看呢,其实我这也 ...
bkLib : 这个是BK写的一些很实用的函数了,看看里面的函数好像只有一个不常见, camelize 这个是 驼峰风格 的字符串转换函数,看看他的规则很简单,就是如果如果字符串里面出现 - 号,就把 - 删除,并把紧跟后面的字母替换为大写, 驼峰风格真是个形象的比喻. 使用这个函数的原因是DOM对象中有个 currentStyle,他对于样式属性的命名规则是 驼峰风格的,比如 background-color被写成backgroundColor,就是这样。 $BK : 这个函数对象很有意思,看代码是根据ID返回一个DOM对象或者进一步把DOM对象扩展为 bkEle ...
Global site tag (gtag.js) - Google Analytics