Add some JSDoc

构造函数尾部也应该添加`return this`，不引起任何歧义
`@param`后面的参数名字要和实际参数名字一致
只有不返回任何值的函数才不需要`@returns`
不限制类型应该写作`{*}`而不是`{Mix}`
`_assign`自始至终就不该返回任何值，否则前面的if中返回`this`，后面返回`undefined`，就不一致了，容易出问题
`_assign`应该指明其中的`this`将会是什么值
如果在JSDoc中声明了function的具体签名，那要用小写
JSDoc中类型描述参考 https://developers.google.com/closure/compiler/docs/js-for-compiler