【发布时间】:2013-09-23 12:06:25
【问题描述】:
在用 JS 编码一段时间后,我决定制作自己的框架。类似于 jQuery 的东西。但是一个非常精简的版本。经过一番谷歌搜索,我把这段代码放在一起:
function $elect(id) {
if (window === this) {
return new $elect(id);
}
this.elm = document.getElementById(id);
}
$elect.prototype = {
hide: function () { this.elm.style.display = 'none'; },
show: function () { this.elm.style.display = ''; },
toggle: function ()
{
if (this.elm.style.display !== 'none') {
this.elm.style.display = 'none';
} else {
this.elm.style.display = '';
}
}
};
到目前为止,这似乎有效。但我对功能不感兴趣。我想了解其中的逻辑。添加方法部分是可以理解的。虽然我不明白
的功能 if (window === this) {
return new $elect(id);
}
如果我删除它,功能就会中断。由于这是一个 if 语句,因此有 2 个结果。 True 或 false。因此,我尝试删除 if 语句并仅使用 return new $elect(id); 假设 window === this 返回 true,但这不起作用。然后我认为它可能会返回false,所以删除了整个 if 语句。那也没用。有人可以启发我吗?这段代码也有效吗?我可能错过了一些东西。
刚刚在 jsfiddle 上测试过,它不起作用。虽然它适用于 jsbin o.O
编辑:使用$elect(id).toggle(); 调用它。虽然您可以查看演示。
【问题讨论】:
-
当你不理解的时候,你从哪里得到那个 sn-p?
-
显示你如何称呼它。我认为这是我缺少的线索。
-
@Bergi 在谷歌某处?我应该发布网址吗?
-
请。不仅因为它是错误的,而且因为作者可能有一些解释。当然还有正确的归属。
-
@Bergi This 是网站。
标签: javascript function object methods