<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                外部機制(第6.2節)提供以類型安全的方式對原生APIs的訪問 。它假設定義的類型在運行時存在,但是不假設如何和哪里定義那些類型。 外部類的一個例子是 Haxe 標準庫的 JQuery 類 。為了說明,這里有一個簡化版的外部類: ~~~ package js.jquery; @:native("$") extern class JQuery { /** Creates DOM elements on the fly from the provided string of raw HTML. OR Accepts a string containing a CSS selector which is then used to match a set of elements. OR Binds a function to be executed when the DOM has finished loading. **/ @:selfCall @:overload(function(element:js.html.Element):Void { }) @:overload(function(selection:js.jquery.JQuery):Void { }) @:overload(function(callback:haxe.Constraints.Function):Void { }) @:overload(function(selector:String, ?context:haxe.extern.EitherType<js.html.Element, js.jquery.JQuery>):Void { }) public function new():Void; /** Adds the specified class(es) to each element in the set of matched elements. **/ @:overload(function(_function:Int -> String -> String):js.jquery.JQuery { }) public function addClass(className:String):js.jquery.JQuery; /** Get the HTML contents of the first element in the set of matched elements. OR Set the HTML contents of each element in the set of matched elements. **/ @:overload(function(htmlString:String):js.jquery.JQuery { }) @:overload(function(_function:Int -> String -> String):js.jquery.JQuery { }) public function html():String; } ~~~ 注意,函數可以被重載以接受不同類型的參數和返回值,使用 @:overload 元數據。函數重載只用于 外部類中。 使用這個外部類,我們可以這樣使用 jQuery : ~~~ import js.jquery.*; .. new JQuery("#my-div").addClass("brand-success").html("haxe is great!"); .. ~~~ 外部類的包和類名應該和在外部類庫中定義的相同。如果不是這種情況,使用 @:native 重寫類的路徑。 ~~~ package my.application.media; @:native('external.library.media.video') extern class Video { .. ~~~ 一些JavaScript庫青睞實例化的類,不使用 new 關鍵字。要防止 Haxe 編譯器在使用一個類時輸出 new 關鍵字,我們可以附加一個 @:selfCall 元數據到它的構造函數。例如,當我們實例化 上面的jQuery外部類時,new JQuery() 被輸出,而不是 new $() 。 @:selfCall元數據也可被附加到一個方法。這種情況,方法會被理解為一個直接對該對象的調用,說明如下: ~~~ extern class Functor { public function new():Void; @:selfCall function call():Void; } class Test { static function main() { var f = new Functor(); f.call(); // will be outputted as `f();` } } ~~~ 除了外部類之外,Typedefs(第3.1節)可以是另一個很好的方式來命名(或別名)一個 JavaScript 類型。typedefs 和 外部類之間主要的不同是,typedefs 是繞開類型的,而外部類不是。Typedefs 適用于一般的數據結構,例如 point({x:Float, y:Float}) 。對函數參數使用一個 typedef 的 point 結構,允許外部的JavaScript 函數接受來自Haxe或者其它JavaScript庫的 point 類實例。也可以用于類型化 JSON 對象。 Haxe標準庫帶有jQuery 和SWFObject的外部類。它們的版本兼容性概括如下: |Haxe 版本|庫|外部位置| | -- | -- | -- | |3.3| jQuery 1.11.3 / 2.1.4 | js.jquery.* | |3.2-| jQuery 1.6.4 |js.JQuery | |3.3|SWFObject 2.3| js.swfobject.* | |3.2- | SWFObject 1.5 |js.SWFObject | 對于其它流行的原生庫,在Haxelib庫(第11章)中有許多可用的外部類。要查看它們的列表,查看 extern 標簽。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看