例如,这是我的“Hello”机器:
hello_machine = new HelloMachine;
此时,如果有人试图访问 中的属性hello_machine
,我希望发生以下情况。
hello_machine.fred;
hello_machine.greetings(); // output: Hi, fred!
hello_machine.george;
hello_machine.greetings(); // output: Hi, george!
无论他们试图访问什么属性,我都希望这种情况自动发生。我不想要任何硬编码的东西。
这是我想调用的函数:
function set_buddy(name) {
buddy = name;
}
问候语如下:
function greetings() {
alert('Hi, ' + buddy);
}
显而易见的解决方案是不这样做。这是一种糟糕的做法,它改变了 Javascript 的基本行为方式。但是,我处于这种行为非常棒的位置。
我的直觉告诉我这是不可能的,而且互联网也无法说服我相信这个事实(我的脑袋告诉我,我问这个问题是个傻瓜)。但我知道 Javascript 是一个善变的情妇,如果这个功能存在,我也不会感到惊讶。因此,如果有人知道我可以实施任何黑客来获得这种行为,我一定会很感激。