QWrap 是 WEB前端脚本框架。想多写点介绍都没有,因为作者没提供。
qwrap的一个比较常用的api:mix /** *@param des 目标对象 *@param src 源对象 *@param override 是否覆盖已有的属性 / mix:function(des,src,override){ //考虑源对象是数组类型 if(ObjectH.isAr
提供YUI2一样的静态方法库,同时又用所谓的Helper规范来做到真正的绝对静态,让组件开发者可以发布出无依赖的组件。 其中,组件无依赖化,也就是核心库定制这个特性,在某些场景下还是非常有用的。QWrap提供了相应的工具来实现,JK这篇文章有详细说明。只是这个工具藏得很深没多少人知道,好酒也怕巷子深~ 最近我在这个工具的基础上增加了代码选取的功能,一起再给大家介绍下。 首先,访问代码选取小工具页面
浅说QWrap的核心机制 http://bbs.51js.com/viewthread.php?tid=88347&extra=page%3D1&page=1 qwrap的核心机制,是以Helper->Wrap->Retouch->Apps为主线的,其中最最基础的就是Helper->Wrap->Retouch机制。 要理解这个机制,只要理解这个机制本质上所做的事情 —— 函数变换。 函数变换,
qwrap的namespace /** *@param sSpace 命名空间字符串 *@param root 可选 / namespace:function(sSpace,root){ var arr = sSpace.split('.'), i = 0, nameI; //例如".ZYC.d
/** *@name getOwnJssData 获取设置data-jss这种方式的数据 *@param el *@param needInit *@return {Object} data / function getOwnJssData(el,needInit){ var data = el.__jssData; if(!data){
本文开始载入qwrap的几个hashset相关的union: 思路: 新建一个局部变量ra,第一个arr不动 遍历第二个arr2,看第一个arr是否含有相同的item,如果没有存在ra里面 arr来concat /** *@name union 两个数组的并集 *@param arr *@param arr2 * / union:function(arr,a
本文载入qwrap一个dump的函数设计: /** *@param {Object} obj *@param {Array} props *@example ObjectH.dump({"name":"zhang","id":1,"age":20},["name","id"]) *返回:{name:"zhangyaochun",id:1} / dump
本文开始载入qwrap的几个hashset相关的intersect: /** *@name intersect 两个数组的交集 *@param arr *@param arr2 * / intersect:function(arr,arr2){ //定义一个空数组 var ra = []; //按照arr2来遍
qwrap的array之toArray: //将一个泛Array转化成一个Array对象 toArray:function(arr){ var ret = []; for(var i = 0;i<arr.length;i++){ ret[i] = arr[i]; } retur
今儿写程序。 对于现代Web前端来说,Selector是必备之物。对于标准浏览器,可用querySelector,而对于IE8标准模式以下,需要一个Selector引擎。 因为本项目会在代码里使用QWrap,所以虽然我写的部分代码并没有用QWrap,但既然怎样都需要一个Selector引擎,不如用QWrap。 结果发生一件悲剧的事情。 我使用html5-shim/shiv库来让IE正确解析新的HT
var Model = function(opt){ this._config(opt); this.init.apply(this,arguments); } QW.ObjectH.mix(Model.prototype,{ init : function(){}, _config : function(opt){ var opt = opt||{}; QW.Ob
[javascript] function mul(func){ return function(){ if(arguments[0] instanceof Array){ var ret = [] for(var i=0,len = arguments[0].length;i<len;i++){ r= func.apply(null,[arguments[0][i]].concat([].sli
在HTML 中,有两种方式来表现文本框:一种是使用<input>元素的单行文本框,另一种是使用<textarea>的多行文本框。这两个控件非常相似,而且多数时候的行为也差不多。不过,它们之间仍然存在一些重要的区别。 要表现文本框,必须将<input>元素的type 特性设置为"text"。而通过设置size 特性,可以指定文本框中能够显示的字符数。通过value 特性,可以设置文本框的初始值,而m
文本框脚本 在HTML中,文本框的表现形式有两种:一种是使用 <input>元素且它的type属性值为"text"来表示 单行文本框。二种是使用 <textarea>和</textarea>表示 多行文本框。 要表示单选文本框,可以使用<input>元素且其type属性值为“text”。通过 size设置文本框中能够显示的字符数,通 value设置文本框的初始值,通过 maxlength设置可以接
前端框架图图形展示: 如上图所示,WeX5前端框架(UI2)分以下部分: 基础库 WeX5前端依赖的两个基础库:数据感知MVVM和jQuery,其中数据感知MVVM基于Knockoutjs改进的。 模块框架 UI2遵循AMD模块标准,采用RequireJS实现。模块化是UI2的基础,UI2的所有资源(包括js、css和html等)都是模块,都采用模块化方式引入,采用模块化方式管理依赖。 组件框架
选择框脚本通过<select>和<option>元素创建。为了方便与这个控件交互,除了所有表单字段共有的属性和方法外,HTMLSelectElement类型还提供了以下的属性和方法: add(newOption, relOption):抽向控件中插入新的<option>元素,其位置在相关项(relOption)之前。 remove(indenx):移除给定索引位置的选项。 multiple:布尔值
选择框是通过<select>和<option>元素创建的。为了方便与这个控件交互,除了所有表单字段共有的属性和方法外,HTMLSelectElement 类型还提供了下列属性和方法。 add(newOption, relOption):向控件中插入新<option>元素,其位置在相关项(relOption)之前。 multiple:布尔值,表示是否允许多项选择;等价于HTML 中的multiple
数据解析脚本开发框架-脚本定义 透传脚本功能介绍 脚本定义 语言定义 方法定义 Alink协议数据转二进制数据 二进制数据转Alink协议数据 自动生成脚本 示例demo 相关产品操作 绑定脚本代码 数据测试 设备上报数据测试数据 上报数据输出结果 设备接收数据测试数据 接收数据输出结果 Demo也支持在本地环境中进行调用 数据解析脚本开发框架-脚本定义 更新时间:2018-07-02 15:13
AKjs前端框架是Andrew.Kim和他的团队一起研发的基于jQuery的一个轻量级前端框架。它是只要懂jQuery的语法很容易上手的框架。该框架里面现在发布了很多移动端常用的功能效果;开发者们使用过程中功能插件也可以自己扩展增加。另一方面,它是相当于一个丰富的组件化UI框架,优点是开发要前后端分离,项目开发过程中后端通过ajax调用数据的机制。 AKjs是一个基于jQuery的一套构建用户界面
前端技术看起来很繁荣,测试、打包、调试等工具都比较丰富,开发效率比原生开发要高很多。在大型项目中使用前端框架也是一个管理应用好方法,这样更方便于长期维护。 然而,Weex并不是一个前端框架。实际上,前端框架仅仅是 Weex 的语法层或称之为 DSL (Domain-specific Language),它们与原生渲染引擎是分离的。换句话说,Weex 并不依赖于特定的前端框架,随着前端技术的发展,W