Actually,simplicity is not simple

发现JS里个很有意思的特性

发现JS里个很有意思的特性,看下面的代码

[javascript]
var arr=['a', 'b','c'];
alert(arr.sort);
alert(arr.sort());

这两行alert看起来差不多,但效果完全不一样了,第一个是作为arr的属性调用sort的;第二个则是作为arr的一个方法调用的。alert出来的结果自己不一样了。

再想想JS中对对象的调用方法:

[javascript]
var obj = {a:’aa’,b:’bb’}
alert(obj.a);
alert(obj['a']);

所以我想使用访问数组的方法去访问对象的方法应该也可以:

[javascript]
var arr=['a', 'b','c'];
alert(arr['sort']);

出来的结果同样是作为arr的属性被调用,这样也成,呵呵,还真有意思。

再想想这个特性要怎么利用。回到发现这特性之初,sort()本来是array的排序方法,在看人家的代码时发现这样写,似乎是用来判断arr是否为数组类型的对象。

再回想下,前几天面试时教官同样问到这问题,当时一无所知的囧样,郁闷!

回到话题,所以这特性可用来判断数据类型的,可以找些只有一种类型的数据才有的方法来判断;还有的话就是可以用来看JS的开发者的写的代码了!^_^////

日志信息 »

该日志于2010-01-29 00:32由 asins 发表在Develop分类下, 你可以发表评论。除了可以将这个日志以保留源地址及作者的情况下引用到你的网站或博客,还可以通过评论 RSS订阅这个日志的所有评论。

相关日志 »

发表评论 »

captcha
请输入验证码