不伦不类的Action Script 3.0
因工作需要,有可能要接手以前一位Flash程序员同事的代码,今天看了下Action Script 3.0,发现这玩意儿真的有点那个啥...
打开Flash CS 4,新建一个Action Script3.0文件,在第一帧写几行代码:
代码一:
var o = "123";
trace(typeof(o)) //输出string
o = 123;
trace(typeof(o)) //输出number
好象还不错,有点c#3.0中的var的味道,能根据赋值不同,自动推断变量类型.
再写几行过过瘾:
代码二:
var Citys:Array = ["上海","北京","武汉","广州","深圳"]
for(var i in Citys){
trace("i=" + i + ",类型:" + typeof(i) + ",元素:" + Citys[i])
}
输出: i=0,类型:number,元素:上海 i=1,类型:number,元素:北京 i=2,类型:number,元素:武汉 i=3,类型:number,元素:广州 i=4,类型:number,元素:深圳
貌似也象那么回事儿,跟c#中的也差不多,i做为数组的数字下标进行元素访问(比如:Citys[1])
改成(即把循环变量的类型明确定义成String):
代码三:
for(var j:String in Citys){ trace("j=" + j + ",类型:" + typeof(j) + ",元素:" + Citys[j]) }
输出: j=0,类型:string,元素:上海 j=1,类型:string,元素:北京 j=2,类型:string,元素:武汉 j=3,类型:string,元素:广州 j=4,类型:string,元素:深圳
这个看上去就特别扭了,你说要是解释成索引器重载吧(即Citys["1"]),那j输出的值貌似是"1"更合理,而输出结果是1(不加引号,误导初学者)
而根据第二段的测试结果,循环变量默认就是number,那我们改成这样试下:
for(var k:Number in Citys){ trace("类型:" + typeof(k) + ",元素:" + Citys[k]) }
讽刺的是居然编译不过了!(明明在代码二中系统自动推断出是number型,现在我顺着它的系统定义成Number型却不能编译)
也许是我道行太浅,理解不了Adobe的玄机。
- 自己实现PC端jQuery版轮播图
- Tips for thrift
- Java8新特性——StreamAPI(一)
- springcloud学习手册-Hystrix(仪表盘说明)
- RedRabbit——基于BrokerPattern服务器框架
- C++任务队列与多线程
- 游戏服务器ID生成器组件
- Java8新特性——Lambda表达式(一)
- C++ FFLIB之FFRPC:多线程&多进程的scalability探索
- ffrpc-c++进程间(服务器端、客户端)通信框架
- Docker入门实战(一)——Docker常用命令
- C++使用ffpython嵌入和扩展python
- 前端防御从入门到弃坑——CSP变迁
- python的解释器spython介绍
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- [数据结构] 二叉搜索树的CURD(增删改查)操作
- Python 为什么用 # 号作注释符?
- Logging with ElasticSearch, Kibana, ASP.NET Core and Docker
- 【DB笔试面试843】在Oracle中,解释GLOBAL_NAMES设为TRUE的用途。
- SpringBoot 返回 json 数据以及数据封装(万字长文)
- 内核级木马与病毒攻防:Linux可执行文件的ELF格式描述
- 「 思考 」 React Hooks 的设计哲学
- JMeter之Json提取器详解
- nodejs 图片处理工具 gm 的使用!
- Java 进程内存分布
- Web 游戏监听浏览器返回点击事件 !
- 权限维持_Linux操作系统后门
- Linux入门学习笔记(一)
- CMD命令笔记总结
- 字典生成神器Crunch