我正在 script# 中编写 javascript。我想写一个看起来像的函数
function myFunc()
{
if(this.value > 100)
return true;
else
return false;
}
可以使用任何具有属性“value”的实例来调用此函数。
我怎样才能在 Script# 中编写这个函数?在 Script# 中,生成的 javascript 代码似乎对此进行了本地引用,并且当将其他对象传递为
'这'。
这类似于能够在 jQuery 回调函数中引用“this”。例如,请参阅 jQuery 类的 Current 属性 (https://github.com/nikhilk/scriptsharp/blob/cc/src/Libraries/jQuery/jQuery.Core/jQuery.cs)。
具体来说,如果你这样写:
[ScriptImport]
public static class Global {
[ScriptField, ScriptAlias("this")]
public static object This {
get { return null; }
}
}
然后你可以这样写:
public static class MyCode {
public static bool MyFunction() {
return (Script.GetField<int>(Globals.This, "value") > 100);
}
}
当然,您也可以编写导入的类来返回强类型类(再次参见 jQuery 示例),这样就可以在不使用 Script.GetField 的情况下编写 MyFunction。
上面的代码假设 script# 0.8 API(您可以从 github 上的项目下载页面获取)。对于之前的版本,将 [ScriptImport] 替换为 [Imported],将 [ScriptField] 替换为 [IntrinsicProperty]。
我希望将类似 This 属性的内容放入 Script 类中,以便在 0.8 最终确定时可以开箱即用。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)