外部的js 方法如何能调用egret内部的方法

JavaScript016

外部的js 方法如何能调用egret内部的方法,第1张

ts 调用 js

步骤

找到 js 调用 js 的方法。

增加方法调用的声明。 请参考 如何生成 .d.ts 。

示例

js 内的方法

function callJsFunc(msg) {    console.log("msg from egret : " + msg)}

ts 内声明

declare function callJsFunc(msg:string)//可以放在 ts 文件内(建议在顶部或者底部,中间的没试过)或者单独放到一个 .d.ts 文件中,请不要放在其他类型的文件内。msg 类型根据函数体判断。

ts 内调用

callJsFunc("hello js")

输出

msg from egret : hello js

总结:在 js 调用 js 的基础上增加声明。其他的比如变量等,也是按上面步骤来实现。

js 调用 ts

js 调用 ts 其实就是 ts 调用 ts,由于 ts 调用 ts 可能会有同模块下的省略写法,因此只要使用不同模块下的调用来写即可。

步骤

找到非同一模块下 ts 的调用(比如 example.A.CallEgretFunc("hello"))。

完全按上面调用的方式来写 (比如上面的 example.A.CallEgretFunc("hello"))。

示例

ts 内的方法

module exampleA {    export class A {        public callEgretMethod(msg:string):void {            console.log("method msg from js : " + msg)       }        public static CallEgretFunc(msg:string):void {            console.log("static msg from js : " + msg)       }    }}

非同一模块下 ts 调用

module exampleB {    export function b() {        //调用方法        var a:exampleA.A = new exampleA.A()       a.callEgretMethod("method")       //调用静态函数        exampleA.A.CallEgretFunc("function")   }}

js 内调用

var a = new exampleA.A()//去掉 a 的类型a.callEgretMethod("method")exampleA.A.CallEgretFunc("function")

输出

method msg from js : methodstatic msg from js : function

var obj = function() {

this.a = function(arg){alert(arg)}

this.b = function(arg){alert(arg+1)}

}

var fn = new obj

fn.a('TEST')

取消首页编程手机软件硬件安卓苹果手游教程平面服务器首页 >网络编程 >JavaScript >javascript技巧 >js构造函数constructor和原型prototypejs构造函数constructor和原型prototype原理与用法实例分析发布时间:2020-03-02 09:43:39 作者:叶落森本文实例讲述了js构造函数constructor和原型prototype原理与用法。分享给大家供大家参考,具体如下:所有引用类型(函数,数组,对象)都拥有__proto__属性(隐式原型)所有函数拥有prototype属性(显式原型)(仅限函数)原型对象:拥有prototype属性的对象,在定义函数时就被创建__proto__, prototype和constructor下面这三个属性的定义非常重要,始终贯穿在原型中。prototype:此属性只有构造函数才有,它指向的是当前构造函数的原型对象。__proto__:此属性是任何对象在创建时都会有的一个属性,它指向了产生当前对象的构造函数的原型对象,由于并非标准规定属性,不要随便去更改这个属性的值,以免破坏原型链,但是可以借助这个属性来学习,所谓的原型链就是由__proto__连接而成的链。constructor:此属性只有原型对象才有,它默认指回prototype属性所在的构造函数。构造函数的特点: a:构造函数的首字母必须大写,用来区分于普通函数 b:内部使用的this对象,来指向即将要生成的实例对象 c:使用New来生成实例对象function定义的对象有一个prototype属性,使用new生成的对象就没有这个prototype属性(Person是一个对象)Person是一个对象,它有一个prototype的原型属性(因为所有的对象都一prototype原型!)prototype属性有自己的prototype对象,而pototype对象肯定也有自己的construct(构造)属性,construct属性有自己的constructor(构造函数)对象,神奇的事情要发生了,这最后一个