一、Array
1.两个数组能用< > == ===做比较吗?
答:数组可以用> <进行矩阵比较,比如a=[1,2,3] b=[1,2,4],那么a<b,如果a的数值长度增加,比如a=[1,2,3,1],那么结果还是a<b。而如果数组的长短和数据项大小都相同,那么ab怎么比较都是false。
所以我们可以知道数组的比较规则:从索引0开始,只要二者比较出结果,即停止比较,返回比较结果。
2.两个空数组相等吗?[]==[]?
答:不相等,等同于两个空对象比较,有法比较吗?所以false。
3.变态使用数组的方法:x=array.sort;【任意方法名】x();会产生什么效果?
答:只能是报错。
4.变态数组[,,]的长度?现有成员数目?join(‘1‘)会显示什么?
答:数组将,号的解析undefined,长度也是undefined,但是成员却是两个undefined,join(‘1‘)会显示 1 。
二、Number
三、RegExp
1.正则表达式的test(null) 和 test(),二者匹配的项是什么?
答:test:返回值为布尔,如果匹配成功返回true。exec:返回匹配成功的字符串。complie:返回值为正则表达式,用途是更换当前正则对象的匹配内容。
正则表达式的test 方法会把 null看成字符串"null",而空则被看成"undefined". 相似的方法是:exec 。但是complie方法比较特殊,对于null和其他方法处理一致,但是当为undefined时,就变成了 /(?:)/,很奇特。
四、Function
1.你不知道的function对象的默认属性。
答:有一个name属性是函数对象特有的,值就是函数名,如果是匿名函数,这个值就是"",而如果该函数对象时通过new Function()出来的,默认值是"anonymous"--匿名的
2.当我eval一个函数名的时候会发生什么?
答:会将该函数的函数体整出来,但是该函数不会执行。typeof这个eval会告诉你这是一个 function;
五、Object
X.其他
1.乱使用关键字的后果:a={class:‘一班‘,name:‘jack‘}; a.class是什么?
答:根据浏览器的不同,效果也不同,在FF下(其他浏览器好像和FF一致),会输出一班,而在IE8会报错。