我正在研究我范围之外的一些代码,这些代码是以我以前从未见过的风格编写的。我试图了解以下属性包的内部工作原理:
二传手:
props.Property(name) = val;
setter/getter :
val = props.Property(name);
要使 setter 发挥上述作用,您需要实例化什么?
编辑:简化程度较低,此代码在框架内的 BrowserWindow 上成功运行(类似于手机环境)。
var UI =
{
ready: function(oProps)
{
try
{
if (oProps)
{
window.external.Property(UI.FrameWidth) = '1000';
window.external.Property(UI.FrameHeight) = '900';
}
window.external.Ready();
}
catch (e) { }
}
};
提前致谢
最佳答案
我认为它可能只是一些奇怪的旧 JScript 语法。避开评论中“内部函数返回引用”的想法,我发现了一个关于 differences between JavaScript and JScript 的问题。列出的唯一语法差异是这个:
The idiom f(x) = y, which is roughly equivalent to f[x] = y.
虽然没有太多关于这个习语的发现。然而,this book about Jscript.Net简要提到
you can access any expando properties using square brackets or parenthesis.
"expando "似乎是类的修饰符,允许您添加动态属性。
关于javascript - javascript 中的属性包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18838213/