一般情况下忽略string和String的区别，除非$is()带了exactly为真
Mayjs.run(fn)会在调用方法前后创建和移除wrapper dsl到Mayjs.DSL中
移除注释代码
让proto.constructor指向父类
M.$()移除，代之为M.$wrapper()
由于$is()增加eactly参数，作相应改变