摘要: 一, 查询条件where:var res = $pcode.linq([1, 2, 3, 4, 5, 6, 7, 8, 9]) .where(function (item, index) { return this > 4; }) .toArray();console.log(res);//结果:[5, 6, 7, 8, 9] var res = $pcode.linq([{ val: 1, name: "item1" }, { val: 2, name: "item2"}]) ... 阅读全文
posted @ 2013-02-07 22:52 winpzs 阅读(380) 评论(0) 推荐(0) 编辑
摘要: 一,概述在演示pcode.Class之前, 我想先说一下写它的意义,大家也知道在前端开发可以分为三层:显示层(css美工)、语义层(html美工和程序同共管 理),行为层(js程序),但之前没有做到很好的分工将很多js代码都放在html上, 结果给美工和后期维护(扩展)很麻烦(成本高),所希望自己能自己出一个这样的框架;1.前端三层分离;2.js异步加载, 按需引用, 不要直接用script(引用多了, 都不知道哪个要哪个)3.发布时可合并下面一个例子对应html:View Code <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Tr 阅读全文
posted @ 2013-02-03 18:05 winpzs 阅读(500) 评论(0) 推荐(0) 编辑
摘要: $pcode.DefineClass如其名就是定义类,它提供如下方法$pcode.DefineClass(ClassB, ClassC) //定义开始, 支持扩展已有的类 .Extend(ClassD, ClassE) //扩展已有的类 .Static({}) //定义静态属性和方法 .Event({}) //定义事件 .DefineGroup("privateClassA", {}) //定义分组 .Define({}) //定义类的属性和方法 .Init(function () { }) //类的初始方法 //.ReturnDefine(... 阅读全文
posted @ 2013-02-02 20:14 winpzs 阅读(364) 评论(0) 推荐(0) 编辑
摘要: 我这人不会写文章, 请多多指教, 周围很多朋友都有写年终总结的习惯, 我不喜欢写文章, 所以我以代码来写吧, 总结还得写的. 今年就以一个前端 项目基础核心pcode为总结;在项目计划之前, 对javascript框架选用问题作了一些研究和比较, 由于这前端任务也对UI要求不算很重型, 所以选用了jquery, 但jquery对开发框架是比较薄弱的,所以在平时工作之余, 计划之前写了基于jquery为基础的pcode小框架.而已这个框架也是在处理项目过程中累积而成的:它主要包括下面几个模块吧:pcode.environment;//常用方法, 核心功能pcode.DefineClass;//类 阅读全文
posted @ 2013-02-02 20:07 winpzs 阅读(653) 评论(0) 推荐(0) 编辑
摘要: <<JavaScript语言精髓与编程实践>>非常基础又深入介绍了javascript, 推荐去看看我这里主要讨论javascript对向对象编程;一.对原型支持定义方法:// 方法1//在构造器中写this实例引用//使用构造器创建对象实例”function MyObject_1() { this.<propertyName1> = …; this.<propertyName2> = …; }// 方法2//在构造器中直接返回对象实例//使用构造器创建对象实例”) function MyObject_2() { var data = this; 阅读全文
posted @ 2013-01-27 18:09 winpzs 阅读(473) 评论(0) 推荐(0) 编辑
摘要: 一. Javascript 面向对象编程:封装Javascript是一种基于对象(object-based)的语言,你遇到的所有东西几乎都是对象。但是,它又不是一种真正的面向对象编程(OOP)语言,因为它的语法中没有class(类)。那么,如果我们要把"属性"(property)和"方法"(method),封装成一个对象,甚至要从原型对象生成一个实例对象,我们应该怎么做呢?1. 生成对象的原始模式假定我们把猫看成一个对象,它有"名字"和"颜色"两个属性。var Cat = {name : '',co 阅读全文
posted @ 2013-01-27 17:28 winpzs 阅读(526) 评论(1) 推荐(2) 编辑
摘要: 作用域是JavaScript最重要的概念之一,想要学好JavaScript就需要理解JavaScript作用域和作用域链的工作原理。今天这篇文章对JavaScript作用域和作用域链作简单的介绍,希望能帮助大家更好的学习JavaScript。JavaScript作用域任何程序设计语言都有作用域的概念,简单的说,作用域就是变量与函数的可访问范围,即作用域控制着变量与函数的可见性和生命周期。在JavaScript中,变量的作用域有全局作用域和局部作用域两种。 1. 全局作用域(Global Scope) 在代码中任何地方都能访问到的对象拥有全局作用域,一般来说以下几种情形拥有全局作用域: (... 阅读全文
posted @ 2013-01-27 17:16 winpzs 阅读(429) 评论(1) 推荐(0) 编辑
摘要: 最近在网上查阅了不少Javascript闭包(closure)相关的资料,写的大多是非常的学术和专业。对于初学者来说别说理解闭包了,就连文字叙述都很难看懂。撰写此文的目的就是用最通俗的文字揭开Javascript闭包的真实面目。什么是闭包?“官方”的解释是:闭包是一个拥有许多变量和绑定了这些变量的环境的表达式(通常是一个函数),因而这些变量也是该表达式的一部分。相信很少有人能直接看懂这句话,因为他描述的太学术。其实这句话通俗的来说就是:JavaScript中所有的function都是一个闭包。不过一般来说,嵌套的function所产生的闭包更为强大,也是大部分时候我们所谓的“闭包”。看下面这段 阅读全文
posted @ 2013-01-27 17:03 winpzs 阅读(416) 评论(3) 推荐(1) 编辑
摘要: Web开发的发展在过去一些的时候,Web开发人员并没有太多的去关注内存泄露问题。那时的页面间联系大都比较简单,并主要使用不同的连接地址在同一个站点中导航,这样的设计方式是非常有利于浏览器释放资源的。即使Web页面运行中真的出现了资源泄漏,那它的影响也是非常有限而且常常是不会被人在意的。今天人们对Web应用有了高更的要求。一个页面很可能数小时不会发生URL跳转,并同时通过Web服务动态的更新页面内容。复杂的事件关联设计、基于对象的JScript和DHTML技术的广泛采用,使得代码的能力达到了其承受的极限。在这样的情况和改变下,弄清楚内存泄露方式变得非常的急迫,特别是过去这些问题都被传统的页面导航 阅读全文
posted @ 2013-01-27 16:40 winpzs 阅读(412) 评论(0) 推荐(0) 编辑
摘要: 闭包(closure)是Javascript语言的一个难点,也是它的特色,很多高级应用都要依靠闭包实现。下面就是我的学习笔记,对于Javascript初学者应该是很有用的。一、变量的作用域要理解闭包,首先必须理解Javascript特殊的变量作用域。变量的作用域无非就是两种:全局变量和局部变量。Javascript语言的特殊之处,就在于函数内部可以直接读取全局变量。var n = 999;function f1() { alert(n); }f1(); // 999另一方面,在函数外部自然无法读取函数内的局部变量。function f1(){ var n=999; }alert(n); // 阅读全文
posted @ 2013-01-27 16:33 winpzs 阅读(255) 评论(0) 推荐(0) 编辑
摘要: 这两天看了js的一些有关内存管理和垃圾回收的知识,现在来总结一下。垃圾回收:javascript具有垃圾回收的机制,也就是说,执行环境会负责管理代码执行过程中使用的内存。其余的不多说,我们来分析一下函数中局部变量的正常生命周期。局部变量只在函数执行过程中存在。而在这个过程中,会为局部变量在栈(或堆)内存上分配相应的空间,以便存储他们的值。然后在函数中使用这些变量,直到函数结束。此时,局部变量就没有存在的必要了,因此可以释放他们所占的内存以供他们使用。现在各大浏览器通常用采用的垃圾回收有两种方法:标记清除、引用计数。下面来了解了解。标记清除:这是javascript中最常用的垃圾回收方式。当变量 阅读全文
posted @ 2013-01-27 16:28 winpzs 阅读(730) 评论(0) 推荐(0) 编辑
摘要: 严格模式(Strict Mode)是ECMAScript5新增的功能。ECMAScript5虽然可以向后兼容ECMAScript3,但如果使用严格模式,哪些ECMAScript5“不在建议使用”的ECMAScript3语法功能将会被全部进制,如果出现就会抛出一行。引入Strict Mode目的是允许开发人员能够选择“更好”的Javascript版本,这个版本能用不同的方式处理那些普遍而又臭名昭著的错误。目前所有的主流浏览器的最新版本——包括IE10与Opera12——都支持严格模式。关于严格模式的大多数信息都可以在《ES5规范》[PDF]的第223页找到。 如何启用严格模式可以在全局范围内使用 阅读全文
posted @ 2013-01-27 16:18 winpzs 阅读(350) 评论(0) 推荐(0) 编辑