想用继承的话最好是那种主要以JS为主开发的大型项目,比如说单页面的应用或者写JS框架,前台的所有东西都用JS来完成,整个站的跳转,部分逻辑,数据处理等大部分使用JS来做,这样面向对象的编程才有存在的价值和意义,
提供你一个绕开的思路: 点+的时候弹了对话框出来了, 这个时候用户是不能操作的, 实际上已经实现你的要求了, 你觉得不想让用户看到菜单内容的话, 把子节点移除, 放到其他地方, 用户点了确定再加回去就是了, 如果点取消那把节点重新collapse, 再把字节点加回去5分就不写代码了, 嘿嘿...
fn.bind(obj, args)
bind() 方法会创建一个函数,该函数的 this 指向了传入的第一个参数,当 bind() 的参数为空时, this 指向全局对象。如浏览器中的 window 。
因为 js 是一门 Duck typing 语言,所以我们可以通过 bind 实现一些共有方法。
有的时候我们需要针对特定的 this 调用某些方法。写起来比较麻烦,这个时候就可以使用 bind 创建一个 shortcut 方便调用。
bind 也可以绑定构造函数,但是当执行生成的函数时,会忽略this指向,即使在绑定时已经对其赋值。