javascript - javascript 中的属性包

标签 javascript properties jscript

我正在研究我范围之外的一些代码,这些代码是以我以前从未见过的风格编写的。我试图了解以下属性包的内部工作原理:

二传手:

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/

相关文章:

javascript - 这里的范围是改变了还是别的什么?

javascript - 在传单中,fitBounds 是否有回调?

Swift 实例属性与方法 : lowercased() vs capitalized

delphi - 将 TRttiProperty 映射到等效的类定义

javascript - 附加参数有什么用?

Javascript 悬停图像替换

javascript - 如果我使用 js 在 textarea 中获取 SVG 代码,如何显示 SVG 内容

android - 未从 ~/.gradle/gradle.properties 读取 Gradle 属性

c# - 如何更新 ClearScript 中的字典条目?

javascript - ‘::’(双冒号)在 javascript 中对事件有什么作用?