- 积分
- 136190
- 注册时间
- 2014-12-27
- 最后登录
- 2024-4-10
- 在线时间
- 603 小时
- 威望
- 562
- 贡献
- 29
- 金币
- 52693
- 钢镚
- 1422
- 交易凭证
- 1
- 分享
- 0
- 精华
- 33
- 帖子
- 2094
- 主题
- 1742
TA的每日心情 | 擦汗 2018-4-10 15:18 |
---|
签到天数: 447 天 [LV.9]以坛为家II
超级版主
- 威望
- 562
- 贡献
- 29
- 金币
- 52693
- 钢镚
- 1422
|
基础类型AS3
AS3
Boolean
int
Number
Object
void
Array
Vector.<String>
Haxe
Bool
Int
Float
Dynamic
Void
Array<Dynamic>
Array<String>
包的写法
AS3- package com.example.myapplication {
- }
复制代码 Haxe
- package com.example.myapplication;
复制代码
定义类
AS3- public class MyClass {
- public function MyClass () {
- }
- }
复制代码 Haxe
- class MyClass {
- public function new () {
- }
- }
复制代码
for 循环
AS3- for (var i:uint = 0; i < 100; i++) {
- }
- for each (var value:String in items) {
- }
- for (var propertyName:String in object) {
- }
复制代码 Haxe
- for (i in 0...100) {
- }
- for (value in items) {
- }
- var fields = Reflect.fields (object);
- for (propertyName in fields) {
- }
复制代码
Switch 循环
AS3- switch (value) {
- case 1:
- trace ("Equal to 1");
- break;
- default:
- trace ("Not equal to 1");
- break;
- }
复制代码 Haxe
- switch (value) {
- case 1:
- trace ("Equal to 1");
- default:
- trace ("Not equal to 1");
- }
复制代码
类型推理
AS3- var hi = "Hello World";
- // type is Object
- // fails to compile in strict mode
复制代码 Haxe
- var hi = "Hello World";
- // type is String
- // even works for code completion
复制代码
类型转换
AS3- var car:Car = vehicle as Car;
- var toString:String = String (10);
- var toNumber:Number = Number ("10");
- var toInteger:int = int (10.1);
复制代码 Haxe
- var car:Car = cast vehicle;
- // or for a safe cast:
- var car = cast (vehicle, Car);
- var toString = Std.string (10);
- var toNumber = Std.parseFloat ("10");
- var toInteger = Std.int (10.1);
复制代码
类型描述
AS3- if (vehicle is Car) {
- }
- import flash.utils.getDefinitionByName;
- import flash.utils.getQualifiedClassName;
- name = getQualifiedClassName (vehicle);
- type = Class (getDefinitionByName (name);
复制代码 Haxe
- if (Std.is (vehicle, Car)) {
- }
- type = Type.getClass (vehicle);
- name = Type.getClassName (type);
复制代码
判定null
AS3- if (object == null) {
- }
- if (!object) {
- }
复制代码 Haxe
Hash Tables
AS3- var table:Object = new Object ();
- table["key"] = 100;
- trace (table.hasOwnProperty ("key"));
- for (var key:Object in table) {
- trace (key + " = " + table[key]);
- }
- delete table["key"];
复制代码 Haxe
- var table = new Map<String, Int> ();
- table.set ("key", 100);
- trace (table.exists ("key"));
- for (key in table.keys ()) {
- trace (key + " = " + table.get (key));
- }
- table.remove ("key");
复制代码
Rest Parameters
AS3- function test (...params):void {
- }
- test (1, 2, 3);
复制代码 Haxe
- function test (params:Array<Dynamic>) {
- }
- Reflect.makeVarArgs (test) (1, 2, 3);
复制代码
Reflection
AS3- var foo = object["foo"];
- bar.apply (this, [ "hi" ]);
复制代码 Haxe
- var foo = Reflect.field (object, "foo");
- Reflect.callMethod (this, bar, [ "hi" ]);
复制代码
Function Types
AS3- function hello (msg:String):void {
- }
- var type:Function = hello;
复制代码 Haxe
- function hello (msg:String):Void {
- }
- var type:String->Void = hello;
- // can also use Dynamic
复制代码
Getters and Setters
AS3- function get x ():Number {
- return _x;
- }
- function set x (value:Number):void {
- _x = value;
- }
复制代码 Haxe
- public var x (get, set):Float;
- function get_x():Float {
- return _x;
- }
- function set_x(value:Float):Float {
- return _x = value;
- }
复制代码
Read-Only Properties
AS3- function get x ():Float {
- return _x;
- }
复制代码 Haxe
- public var x (default, null):Float;
- // null allows private access
- // never would restrict all access
复制代码
本文来自:http://www.badyoo.com/378.html
|
|