摘要: 前两天看了coffeescript,基于node.js,顺带配置一个node环境吧,折腾了好久1.从 node.js 下载msi安装环境 安装完成之后打开安装目录,可以看到一个 node.exe 打开可以在里面执行js代码,类似chrome的console,注意 不是在这里执行node命令的!下面... 阅读全文
posted @ 2014-12-06 20:30 YLWS 阅读(501) 评论(0) 推荐(0) 编辑
摘要: 一、缓存需要多次读取的 DOM元素,对象属性,数组值 二、选取DOM元素,尽量缩小查询范围 三、减少页面回流(reflow) 四、使用事件委托替代事件绑定。 五、其他 1.使用原生js代码替代jquery 2.针对耗时js操作,使用setTimeout定时释放UI线程,防止浏览器假死 3.尽量避免全局变量 3.使用jslint/jshite 检查代码 4.参考书籍《高性能JavaScript》 阅读全文
posted @ 2014-10-14 14:59 YLWS 阅读(267) 评论(1) 推荐(1) 编辑
摘要: 说道树结构,很容易想到以下的数据结构 class Node { public string ID { get; set; } public string ParentID { get; set; } public List Children { ... 阅读全文
posted @ 2014-04-15 22:55 YLWS 阅读(1303) 评论(0) 推荐(0) 编辑
摘要: 对于一个表单 有以下典型的权限读 新增 修改 删除我们可以在数据库中直接 按照 0101存储,0表示无权限,1表示有权限。做权限判断时,先创建一个对应的权限枚举 [Flags] public enum Role { Read = 1, Update = ... 阅读全文
posted @ 2014-02-21 16:46 YLWS 阅读(342) 评论(0) 推荐(0) 编辑
摘要: 单选框,选中之后是无法取消选择的,必然有选中项。如果为必填项,不会存在问题,实际情况是:有可能是非必填项,现在想取消选择。客户实际是配置了一项‘未知’来表示无值的情况。有如下考虑:1.改为下拉框,添加一项‘请选择’,特定值,后台过滤。2.改为多选框,通过js限制只能选一项。3.单击选中的单选框,取消选中。想当然的代码$("input[type='radio']").click(function () { if (this.checked) { this.checked = false; }}); 结果是,单选框无法选中。每次点击单选框的时候,... 阅读全文
posted @ 2014-02-13 14:51 YLWS 阅读(9123) 评论(1) 推荐(2) 编辑
摘要: 本文,实现了一个简易的IOC容器,主要供学习使用。首先抽象需要实现的功能,容器主要由两部分组成1.注册2.获取实例 /// /// 注册 基类/接口->实际类型 /// /// /// void Register(); /// /// 注册 实例 /// /// void RegisterInstances(object obj); /// /// 注册 实例 /// ... 阅读全文
posted @ 2013-09-09 12:00 YLWS 阅读(315) 评论(0) 推荐(0) 编辑
摘要: foreach 迭代器可以遍历所有实现了IEnumerable接口或者提供了IEnumerable实现的类。MSDN解释:在 C# 中,集合类并非必须严格从 IEnumerable 和 IEnumerator 继承才能与 foreach 兼容;只要类有所需的 GetEnumerator、MoveNext、Reset 和 Current 成员,便可以与 foreach 一起使用。省略接口的好处为,使您可以将 Current 的返回类型定义得比 object 更明确,从而提供了类型安全。查看IEnumerable的实现,只是简单的返回了一个IEnumerator 对象,所有的处理都被委托到了IEn 阅读全文
posted @ 2013-07-23 10:20 YLWS 阅读(483) 评论(0) 推荐(0) 编辑
摘要: 委托提供了安全的方法回调机制。常见用法:1.winform asp.net 中的按钮事件。2.winform中 窗体A弹出窗体B, 点击窗体B的按钮,修改窗体A的属性。3.封装流程,通过委托注入,实现了更加轻量级的模板方法模式的实现。首先我们定义一个委托public delegate void MyDelegate(string name);事实上,编译器会将该委托编译为一个类 public sealed class MyDelegate : MulticastDelegate { public MyDelegate(object @object, IntPtr me... 阅读全文
posted @ 2013-07-19 10:58 YLWS 阅读(284) 评论(0) 推荐(0) 编辑
摘要: 有一个很常见的需求,服务端有一个 校验登陆的 方法,最开始只有一个布尔值,表示成功失败。public bool UserValid(string name, string pwd){ //校验登陆 }后来需求变更,需要返回 具体的User对象以及 登陆失败的原因。方案一:返回标识 比如 0,1,2 或者是枚举 表示登陆状态,在界面上再转化为具体的 登陆成功,密码错误等。方案二:在方法中添加 out message,返回错误信息。方案三:服务端抛出对应异常,客户端捕获。方案四:封装返回结果为一个类。个人偏向方案四,但是如果每个返回结果都需要封装一个类,那不累死了?所以 使用泛型封装出一... 阅读全文
posted @ 2013-07-18 16:51 YLWS 阅读(699) 评论(0) 推荐(0) 编辑
摘要: 1.基本概念.NET2.0新增的最大的特性是泛型。我们先来看下定义在System.Collections.Generic下的List:public class List : IList, ICollection, IEnumerable, IList, ICollection, IEnumerableList类后边的紧跟着一个,T被称为类型参数(type parameter),是一个真实实参的占位符,表明该类未定义实际的数据类型。 实际使用的时候,需要指定T的具体类型,如:List,此处的string被称为类型实参(type argument),List下所有的T都会被替换成string类型。 阅读全文
posted @ 2012-07-15 14:22 YLWS 阅读(989) 评论(0) 推荐(0) 编辑