是否可以创建链接到函数的变量,并在每次读取变量时执行该函数?当某个翻译的调用已经发生时(返回将来可能会改变的翻译字符串),用例将是更新语言翻译。这有点类似于类的get
ter方法,但没有实际定义类。
任何想法(如果有的话)如何完成?
Object.defineProperty()
global
与此相同:
<script>
var foo = 123;
function bar() { console.log( foo ) };
bar();
</script>
(或多或少)与此相同:
<script>
document.window.foo = 123;
function bar() { console.log( foo ) };
bar();
</script>
所以我们可以滥用<script>
Object.defineProperty( window, "foo", { value: 123 } );
function bar() { console.log( foo ) };
bar();
</script>
来获得所需的效果,但要注意的是,它无法在无法访问Object.defineProperty
属性的JavaScript范围内工作。
Object.defineProperty
使用方式如下:
global