3 回答

TA贡献1752条经验 获得超4个赞
最简单的方法是与new运算符:
function f() {
alert('hello');
}
new f;
尽管这是非常规和不自然的,但它确实有效并且完全合法。
该new
如果不使用参数,运营商不需要括号。

TA贡献1853条经验 获得超18个赞
您可以使用getter和setter。
var h = {
get ello () {
alert("World");
}
}
仅使用以下命令运行此脚本:
h.ello // Fires up alert "world"
编辑:
我们甚至可以争论!
var h = {
set ello (what) {
alert("Hello " + what);
}
}
h.ello = "world" // Fires up alert "Hello world"
编辑2:
您还可以定义无需括号即可运行的全局函数:
window.__defineGetter__("hello", function() { alert("world"); });
hello; // Fires up alert "world"
并带有参数:
window.__defineSetter__("hello", function(what) { alert("Hello " + what); });
hello = "world"; // Fires up alert "Hello world"
免责声明:
正如@MonkeyZeus所说:无论您的意图多么好,您都绝不能在生产中使用这段代码。
添加回答
举报