我正在浏览各种库,并看到extend()弹出很多,但我也看到mixin()出现了.YUI既有mixins又有扩展.
这两个概念有什么区别?我何时能在mixin和扩展对象之间做出决定?
谢谢,马特
我想创建一个包含或继承自google.maps.Polygon类的特殊类型的多边形对象.我希望它有一个edited可以收听的自定义事件,理想情况是通过普通的addListener界面.可以这样做吗?
我尝试做一些简单的类型检查错误,并有以下代码:
function isError(x) {
return Error.isPrototypeOf(x)
}
Run Code Online (Sandbox Code Playgroud)
但是,如果我用一个错误实例调用该函数,我会false这样:
isError(new RangeError) // false
Run Code Online (Sandbox Code Playgroud)
所以我启动了节点(好吧,io.js),并做了以下事情:
> Object.getPrototypeOf(Object.getPrototypeOf(new RangeError))
[Error]
Run Code Online (Sandbox Code Playgroud)
最后,如果我进行检查instanceof,它的工作原理如下:
> (new RangeError) instanceof Error
true
Run Code Online (Sandbox Code Playgroud)
那么,到底发生了什么?