{学习笔记}AS3 super

Posted in Flex&AS on 十月 10th, 2011 by admin – Be the first to comment

最近接触到AS3中的super,看了一下帮助文档,解释的不是太清楚,随即google了几篇相应的文章,读了几段code后慢慢有点理解了,在这里做个记录。

super(),是一个函数调用,超类或父类的构造函数的调用(也可以说基类)。同时super也是一个关键字,意味着是超类或父类(甚至直接基类)的引用。

阅读全文………

{整理}AS3中的优化方法

Posted in Flex&AS on 十月 9th, 2011 by admin – Be the first to comment

准备学习Flash AS3编程技术的计划排了近一年了,至今才真正投入精力学习。本来自己有近5年的flash设计经验,只因起初被flash制作的逐帧动画所吸引,进而开始学习flash设计的,但那个时候自己对as编码没有产生太多兴趣,所以只是单单接触了一点点AS1.0。如今自己走在web前端开发的道路上,介于对javascript脚本编程有了一定了解后,发觉学习AS更容易一些。

以下是在学习AS过程中,整理的一些优化点,其实部分提到的方法在javascript实现中也很适用的:

阅读全文………

{转}AS3实用函数&常用算法

Posted in Flex&AS on 八月 30th, 2011 by admin – Be the first to comment

记录一些在学习AS过程中收集的资料,方便查阅!
【鼠标坐标】
mouseX mouseY
【检查变量类型并返回布尔值】
is
【检查变量类型并返回类型】
typeof
【检查对象类型并返回该对象】
as
【是数字但不是有效数字问题】
var quantity:Number = 15 – “rabbits”; trace(typeof quantity); //显示: “number” , 但它是NaN (not a number) trace(quantity is Number); //true trace(quantity != NaN); //false //使用isNaN()函数检测: isNaN(quantity); //true //检测变量是否内含有效数字: !isNaN(quantity); //false
【取消默认的严格编译模式】
在”Navigator”窗框里右键你的项目>选中”Properties”>选中”ActionScript. Compiler”>取消”Enabel compile-time type checking”选项
【基元数据类型和复杂数据类型好比”值类型”和”引用类型”】
基元数据类型类似按值传递: var intOne:int = 1; var intTwo:int = 1; trace(intOne == intTwo); //true
【复杂数据类型类似按引用传递】
var arrayOne:Array = new Array(“a”, “b”); var arrayTwo:Array = arrayOne; [...]

阅读全文………

对象中的__defineGetter__和__defineSetter__方法

Posted in 鼓捣JavaScript on 六月 3rd, 2011 by admin – 1 Comment

顾名思义,简单来理解:Getter–>属性取值器,Setter–>属性设置器;
作用:可以为任何预定义的核心对象或用户自定义对象定义getter和setter方法,从而为现有的对象添加新的属性。
定义Getter及Setter方法的2种方式:
* 在对象初始化时定义(IE浏览器下会报错)
* 在对象定义后通过Object的__defineGetter__、__defineSetter__方法来追加定义
1.在对象初始化时定义 :
选择在对象初始化时来定义Getter和Setter方法时唯一要做的事情就是在getter方法前面加上“get”,在setter方法前面加上“set”。
注意:getter方法无需参数,setter方法必须有一个参数,也就是要设置的属性的新值。
示例如下:
var obj = {
  value:9,
  get a(){return this.value + 10},
  set b(x){this.value = x/2}
}
alert(obj.value);//9
alert(obj.a);//19
obj.b = 20;
alert(obj.value);//10
2.在对象定义后通过Object的__defineGetter__、__defineSetter__方法来追加定义.
在对象定义后给对象添加getter或setter方法要通过两个特殊的方法__defineGetter__和__defineSetter__。这两个函数要求第一个是getter或setter的名称,以字符串形式;第二个参数是作为getter或setter的函数。
示例如下:
Date.prototype.__defineGetter__(‘year’, function() {return this.getFullYear();}); 
    Date.prototype.__defineSetter__(‘year’, function(y) {this.setFullYear(y)}); 
    
   var now = new Date; 
    alert(now.year);  //2011;
    now.year = 2006; 
    alert(now); //Sat Jun 03 2006 13:28:24 [...]

阅读全文………

常用正则表达式收集列表

Posted in 鼓捣JavaScript on 五月 30th, 2011 by admin – Be the first to comment

平时偶尔会用到一些正则表达式,但基于表达式的不方便记忆,总是用到时去网上到处搜罗,想想还是将一些常用的正则进行收集整理,随时遇到可以随时查阅,利己利民。
URL:
/^(https?:\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \.-]*)*\/?$/
Email:
/^([a-z0-9_\.-]+)@([\da-z\.-]+)\.([a-z\.]{2,6})$/
HTML 标签:
/^<([a-z]+)([^<]+)*(?:>(.*)<\/\1>|\s+\/>)$/
首尾的空白字符:
/^\s*|\s*$/
数字:
/^[-\+]?\\d+(\\.\\d+)?$/
整数:
/^[-\+]?\\d+$/
正数:
/^[\+]?\\d+(\\.\\d+)?$/
负数:
/^-\\d+(\\.\\d+)?$/
自然数:
/^0$|^[1-9][0-9]*$/
中文:
/[^\u4e00-\u9fa5]/
文件后缀名:
/\.\w+$/
大陆身份证编号:
/\d{15|\d{18}|\d{17}x)$/

阅读全文………