AS3中方法重载的一种简单实现方式

在AS3中,依然不支持方法重载,但我们可以通过在参数中指定参数初值来实现一些简单的方法重载(非真正的重载),例如:

public function myFunction(arg1:String = “”, arg2:uint = 4):String
{
//方法的主体代码
}

可以根据参数的值来执行不同的代码,样这个方法就实现了同一个方法的两次次重载,包括:

public function myFunction();
public function myFunction(arg1:String);
public function myFunction(arg1:String ,arg2:unit);

当然了,我们也可以使用在JavaScript常中的判断参数个数的方式来模拟重载,如果要求重载的方法都只有一个参数,只是类型不一样时,可以通过对参数进行类型判断来真正模拟方法的重载。…

基于P2P的FLV

工作完成了,看了一下土豆网,发现有土豆有一个FLV视频加速插件,应该是传说中的P2P加速了,会是怎么做的呢?不如看看再说。

于是下载了一个飞速Tudou,下载的时候顺便看了一下帮助说明,发现有个地方也重要——就是要给浏览器设置代理,装完飞速土豆后,IE浏览器已被设置自动代理脚本,如图所示:


再打开代理脚本看看:

function FindProxyForURL(url, host) {
if (shExpMatch(url, “*/flv/*.flv*”) || shExpMatch(url, “*crossdomain.xml*”) )
return “PROXY 127.0.0.1:9415”;
else return “DIRECT”;
}

应该是只针对土豆网本站的FLV文件做了代理,为什么要做代理呢?莫非会代理到本地?如果是这样的话再看flv的时候应该会把flv下载到本地,不出意外的话应该在飞速土豆的安装文件夹里。打开飞速土豆的安装文件夹,里面果然有个download文件夹,带开一看,里面果然有我刚才看过的flv文件!…

WPF中Storyboard的奇怪问题

在设置了一个对象的Opacity动画之后,再为该对象设置一个Opacity值将会无效,奇怪的是也没有异常抛出,而且在该语句之后的语句也都不执行了。例如:

DoubleAnimation myDA = new DoubleAnimation(0.8, 0.0, new Duration(TimeSpan.FromMilliseconds(800)));

Storyboard.SetTargetName(myDA, “myObj”);
Storyboard.SetTargetProperty(myDA, new PropertyPath(Canvas.OpacityProperty));

Storyboard mySB = new Storyboard();
mySB.Children.Add(myDA);
mySB.Begin(myObj);

若在此后再设置该对象的Opacity值将会无效,例如:

myObj.Opacity

奇怪的Silverlight更新

写了两个多星期的WPF Application,今天需要在界面上增加点东西,想到用Blend 2来编辑XAML文件(画图还是比写代码方便很多),但是只有在Silverlight项目中才能方便地用Blend 2打开XAML文件,于是打开了一个最开始接触Silverlight时的几个例子,习惯性地Ctrl+F5,浏览器却给了我一个很大的惊奇:弹出了一个错误提示框:

The WPF/E installed on your system is no longer valid. Please go to
“http://go.microsoft.com/fwlink/?LinkID=81210&clcid=0x409e” for the latest version.

怏怏地跑到Silverlight官方网站去看看最新版本,找了半天还是只有Silverlight 1.1 Alpha-_-。好吧,我就当这个是最新版本了,重新下载了一遍,安装,按要求重启,打开项目,再编译运行,这次更是诡异了,浏览器一片空白,状态栏提示有JS错误。看看页面源代码,发现document.getElementById后的参数和div的id名称不一致了,我没有改过代码的呀!再开两个项目,发现还是这样,诡异的Orcas(Visual…

WPF中的定时器类

刚开始接触WPF不久,也是第一次尝试开始写C#,写定时器的时候以为C#中System.Timer中的Timer类,结果发现老是抛出个很奇怪的异常:

The calling thread cannot access this object because a different thread owns it.

后来才发现,其实WPF是有自己的定时器类的,那就是System.Windows.Threading中的Timer类,使用起来也很简单:

//构造一个DispatcherTimer类实例
DispatcherTimer dTimer = new System.Windows.Threading.DispatcherTimer();

//设置事件处理函数
dTimer.Tick += new EventHandler(dTimer_Tick);

//定时器时间间隔1s
dTimer.Interval = new TimeSpan(0,0,1);

//启动定时器

Microsoft终究要对付Flash了

Microsoft终究发布了Silverlight,官方网站:http://www.microsoft.com/silverlight/

Silverlight is a cross-browser, cross-platform plug-in for delivering the next generation of Microsoft .NET–based media experiences and rich interactive applications for the Web.

Silverlight(银光)这一段介绍很明显是针对互联网上的Flash流媒体播放器的,以前说到RIA总是与Flash同时提起,现在Silverlight也要来分蛋糕了.

Silverlight说跨平台,第一个想到的总是Linux,根据官方网站的介绍貌似只支持Mac OS和Windows上的主流浏览器,包括FireFox, Safari, 和Internet …

灌水也疯狂——Python

最近一段时间校园网网速超慢,上网就变成了超郁闷的事情,看个Gmail都不行,只好到白云上灌灌水了。手动灌水我已经觉得不爽了,于是开始脚本灌水。开始不会Python,用JavaScript灌,结果发现在web下用JS灌水有时间限制,27秒才能发一个新帖……也不知道term下是不是这样,找到白云站务组的技术大牛Beta问了下,说只要不用歪脖(web)就行。看来我只能用Python了,于是又找到lightning大牛教Python。lightning大牛一个帖子简明扼要地讲明了怎么在Cterm下用Python灌水,简单的例子如下(lightning大牛的原文节选):

import CTerm
import tools
import sys, string, random, glob, os
#sys,string,random,glob,os,tools什么的都是python内置的模块,而
#CTerm是陈琪提供的cterm的接口模块

你都用什么Firefox插件、扩展

响应一下aw的此文,对FF还是很感冒的,一直都用这个,呵呵

先说一句废话:在Firefox 2.0里面,貌似不分什么扩展(Extensions)和插件(Add-ons)了,而是统一叫附加软件了。

Dom Inspector

貌似是FF2.0自带的,不是我装的,可以用来查看当前网页的DOM结构,我不太习惯用这个。上次在白云上和以个师兄讨论怎么从一个网页中找出MP3的地址,那位师兄是用这个掘出来的,我还是最原始的分析源代码,一层一层掘出来的。

Gmail Manager

这个东东看名字就知道了,不过我觉得叫Gmail Notifier更合适。用FF浏览网页的时候能够自动帮你检查Gmail邮箱,及时告知邮箱里是否有新邮件。

IE Tab
说实话,我现在越来越不喜欢这个插件了。首先是切换的时候以及切换以后往往会消耗大量的系统资源,其次是我觉得有些页面的显示和IE的显示效果还是有一点点差别的。
[#afdream.com#]…

笔记:JavaScript变量无块级作用域

乱七八糟的事情忙了很久,FBS的计划基本上算是流产了[disinclined],最近事情还没有结束。因为什么本科教学评估,很多烦人的实验报告要写,还加上几篇结业论文。最近有整段的空闲就跑去和考研的兄弟们挤到一起去上自习。大四还上自习的人大致可以分为两种,一种是考研流,一种是号称考研流,后一种也有人说是BT,很遗憾,我被无情划入第二种。考研的人看很厚的书,我也看很厚的书,只不过他们的是考研的书,我看的是JavaScript之类的。考研的人拿笔写个不停,我也拿支笔写个不停,他们是做题目,我是做笔记。

正在看的一本是《JavaScript权威指南》,本来有电子版的,但是太不清晰了,而且再电脑前看书也不是很舒服,愣是从图书馆把这唯一的一本给借到了。看这本书的时候明白了很多以前不曾明白的东西,也纠正了以前一些错误的理解,还做了不少笔记,呵呵^_^

今天要说的是以前我的错误理解——关于JavaScript的局部变量有没有块级作用域一说。以前一直以为JavaScript和C++、Java一样有块级作用域,看了书才知道错了。…