'22'>'111' - true
22>'111' - false
[22]>[111] - true
先看下第一个,字符串对比,两边就没转成数字了,比的就是ascode,谁的靠后就是谁,2比1靠后 第二个,有一边数字,所以隐式转为数字,22<111 第三个,数组对比的时候,使用toString方法两边对比,化为和1一样的式子,所以是true
原型
对象是没有prototype属性的(像string,number,bool这些类型也都是没有的,只有方法function和类class有),但是可以通过Object.getProtoTypeOf()获取对象的原型 首先我们要明白,任何函数都是function的示例
function a (){}
a.__proto__ ====Object.getPrototypeof(a)=== Function.prototype - true
// 也就是一个数据的__proto === Object.getPrototypeof()
getPrototypeOf是获取构造当前对象的原型,比如var aa = new a(),那么Object.getPrototypeOf(aa) == a.prototype
函数名不可修改
神奇的eval
function a(){}
eval('a') // function a(){}
eval(a) // function a(){}
正则的隐式转换
正则.test发现参数不是string时,会把他们自动转了,String();
Date的定义
注意new Date('2014-03-19')表示的是2014年3月19号 new Date(2014,03,19)表示的是2014年4月19号