JavaScript中同名标识符优先级
一,局部变量先使用后声明,不影响外部同名变量
var x = 1; // --> 外部变量x
function fn(){
alert(x); // --> undefined 局部变量x先使用
var x = 2; // 后声明且赋值
}
fn();
alert(x); // --> 1
第一点,函数fn内第一句输出x,x是在第二句才定义的。这在JS中是允许的,这里的
http://cyqdata.cn/cnblogs/article-detail-32559
ASP.NET实现进度条上传文件(原创)
随着ajax技术的流行以及用户体验得到越来越高的重视,各种注视用户体验的程序出现,比如带进度条的文件上传,看了网上很多资料还没找到真正意义上的ASP.NET实现进度条上传(可能是我没找到),下面我来跟大家分享一下我实现的这个程序。
最终实现的效果图如下:(备注:Firefox3.6下的截图)
先解释一下这个程序,该程序采用了jquery框架,实现了小文件
http://cyqdata.cn/cnblogs/article-detail-32510
JavaScript继承方式(4)
4,继承工具函数四
/**
* @param {String} className
* @param {String/Function} superClass
* @param {Function} classImp
*/
function $class(className, superClass, classImp){
if(superClass === "") superClass
http://cyqdata.cn/cnblogs/article-detail-32452
JavaScript继承方式(3)
3,继承工具函数三
/**
* @param {Function} subCls
* @param {Function} superCls
*/
function extend(subCls,superCls) {
subCls.prototype = new superCls();
}
父类,按原型方式写,即属性和方法都挂在原型上。
/**
* 父类Person
*/
http://cyqdata.cn/cnblogs/article-detail-32432
SSIS包中CASE与NVARCHAR的恩怨
今天在修改SSIS包时,遇到一个很莫名的情况:
将SQL语句
UPDATE [dbo].[Employee] SET DateOfChange = CASE WHEN (? = ?) THEN ? ELSE GETDATE() END WHERE [SerialNumber] = ?
填入OLE DB Command 组件中,运行后一直报错
“
[
http://cyqdata.cn/cnblogs/article-detail-32430
JavaScript继承方式(2)
这篇开始写几个工具函数实现类的扩展。每个工具函数都是针对特定的写类方式(习惯)。这篇按照构造函数方式写类:属性(字段)和方法都挂在this上。以下分别提供了个类,分别作为父类和子类。
// 父类Person
function Person(nationality) {
this.nationality = nationality;
this.setNationality = functi
http://cyqdata.cn/cnblogs/article-detail-32425
WPF <ZoomableCanvas> 实现缩放移动
熟悉WPF 的朋友应该知道Canvas 默认是不支持Scale 和Offset 操作的,如果我们想对Canvas 里包含的控件进行整体缩放或移动可能会比较麻烦。Kael Rowan 提供了ZoomableCanvas 类可以方便实现上述效果。我们可以在XAML 中直接使用<ZoomableCanvas> 对控件布局进行开发,而不需要使用
http://cyqdata.cn/cnblogs/article-detail-32409
CCIE中的portfast和Bpdu Guard、Bpdu Filter、Root Guard、Loop Guard
PortFast 加快终端主机连接入stp网络的收敛.只适用于在交换机与PC相连的端口,不应该在交换机与交换机,路由器,HUB互连的网络设备的端口使用。
把一个port设置了portfast,就是让那个port不再使用STP的算法。在STP中,port有5个状态:disable、blocking、listening、learning、forwarding。只有forwarding状态,p
http://cyqdata.cn/cnblogs/article-detail-32400
JavaScript继承方式之一
前段时间温故了下JS OO之写类方式,从这篇开始我们看看JS OO之继承方式。
面向对象的语言多数都支持继承,继承最重要的优点就是代码复用,从而构建大型软件系统。如果一个类能够重用另一个类的属性和或方法,就称之为继承。从这个角度来看看JS的继承方式。JS中继承方式与写类方式息息相关。不同的写类方式造成不同的继承方式。各种流行JS库继承方式也各不相同。从最简单的复用开始。
1、构造函数方式写类,通
http://cyqdata.cn/cnblogs/article-detail-32377
国家统计局省份城市对照码javascript库(可实现数据对接),原创.开源LGPL
function ProvinceAndCities{var _code=[{"Code":"110000" , "Name":"北京市"}, {"Code":"110100" , "Name":"市辖区"}, {"Code":"110101" , "Name":"东城区"}, {"Code":"110102" , "Name":"西城区"}, {"Code":"110103" , "Name":"崇文区"}, {"Code
http://cyqdata.cn/cnblogs/article-detail-32323
简洁优雅的JavaScript OOP风格
还是以老生常谈的User举例子,说明已在代码注释中。
function User()
{
/**
* constant
*/
var MAX_AGE = 100;
var MIN_AGE = 10;
/**
* private variable
*/
var
http://cyqdata.cn/cnblogs/article-detail-31869
JavaScript的写类方式(5)
这篇我们看看各个JS库的写类方式,这也是写类系列的最后一篇。
1,Prototype的写类方式
Prototype中使用Class.create方法,如下
//类名Person
var Person = Class.create();
//通过原型重写来定义Person
Person.prototype = {
initialize : function(name) {
this.na
http://cyqdata.cn/cnblogs/article-detail-31861
将JavaScript 函数内的arguments 对象转换为数组
函数内的arguments 对象,有人称之为“类数组”对象,因为它具有数组的一些特性:拥有length 属性、并且用数字索引存放着参数以便访问,可大家都知道其实它并不是数组。
有的时候需要将参数列表看作一数组,以便使用数组的一些方法(如concat, splice 等)进行操作,这就要想办法做一个转换,《JavaScript 语言精粹》一书中有类似这么一段操作:
(fun
http://cyqdata.cn/cnblogs/article-detail-31856
使用 Castal DynamicProxy 简化 Silverlight 数据绑定
大家都知道, 在使用 Silverlight 数据绑定的时候, 为了使源对象的更改能够传播到目标,源必须实现 INotifyPropertyChanged 接口。INotifyPropertyChanged 具有 PropertyChanged 事件,该事件通知绑定引擎源已更改,以便绑定引擎可以更新目标值。 下面是一个典型的例子: public class UserModel : INotif
http://cyqdata.cn/cnblogs/article-detail-31854
JavaScript的写类方式(3)
续上篇,
构造函数+原型 组装一个类;同一构造函数可以定义出多个类型
/**
* $class 写类工具函数之二
* @param {Function} constructor
* @param {Object} prototype
*/
function $class(constructor,prototype) {
var c = constructor || function()
http://cyqdata.cn/cnblogs/article-detail-31823
ASP.NET4中不要相信Request.Browser.Cookies,Form验证要用UseCookies
从ASP.NET 3.5升级至ASP.NET4之后,遇到三种登录后不能保存cookie的情况(升级前一切正常):
1. 遨游3在极速模式下(默认模式)。
2. FireFox中修改了UserAgent。
3. 诺基亚手机自带浏览器或者UCWeb浏览器访问博客园手机版(m.cnblogs.com)。
今天终于把罪魁祸首给揪出来了,它就是Request.Browser.Cookies。
如果你在程序
http://cyqdata.cn/cnblogs/article-detail-31819
Asp.NET MVC Widget开发 - Html.Widget扩展方法
在Asp.NET开发博客类系统,我们经常都会用到Widget,像在线好友、最近访问好友、最新留言等,关于Asp.NET MVC与Asp.NET视图的差异,这里不再说了,大家可去查一下,接下来我以“我的好友”列表来要介绍在Asp.NET MVC实现这一功能以及结构设计。
开发工具:VS 2010 EN
开发语言:Visual C#
ASP.NET MVC 3
As
http://cyqdata.cn/cnblogs/article-detail-31816
JavaScript的写类方式(4)
工具函数如下
/**
* $class 写类工具函数之三
* @param {String} className
* @param {String} superClass
* @param {Function} classImp
*/
function $class(className, superClass, classImp){
if(superClass === "") su
http://cyqdata.cn/cnblogs/article-detail-31810
JavaScript中具名函数的多种调用方式(2)
以函数中有无this来讨论。没有this时返回一个空的对象{},有this时返回一个非空对象。
下面是一个没有this的函数
// 返回值是基本类型
function fun() {
return "jack";
}
var c = new fun();
for (var atr in c) {
alert(atr);
}
alert(c); //[object Object]
返回值
http://cyqdata.cn/cnblogs/article-detail-31798
JavaScript中具名函数的多种调用方式(1)
前面有一篇提到了 匿名函数的多种调用方式。这篇看看具名函数的多种调用方式。
1、()
平时最常用的就是()运算符来调用/执行一个函数
// 无参函数fun1
function fun1() {
alert('我被调用了');
}
fun1();
// 有参函数fun2
function fun2(param) {
alert(param);
}
fun2('我被调用了');
http://cyqdata.cn/cnblogs/article-detail-31789