[¶î£]javascriptÖеÄÊý¾ÝÀàÐÍ¡¢ObjectÓëFunction
1. Êý¾ÝÀàÐÍ
javascriptÖаüº¬6ÖÖÊý¾ÝÀàÐÍ£ºundefined¡¢null¡¢string¡¢number¡¢booleanºÍobject¡£ÆäÖУ¬Ç°5
ÖÖÊÇÔʼÊý¾ÝÀàÐÍ£¬objectÊǶÔÏóÀàÐÍ¡£
objectÀàÐÍÖаüÀ¨Object¡¢Function¡¢String¡¢Number¡¢Boolean¡¢Array¡¢Regexp¡¢Date¡¢
Globel¡¢Math¡¢Error£¬ÒÔ¼°ËÞÖ÷»·¾³ÌṩµÄobjectÀàÐÍ¡£
2. ÀàÐÍÅжÏ
ͨ³£ÔÚjavascriptÖнøÐÐÀàÐÍÅжÏÖ÷Ҫͨ¹ý3ÖÖ·½Ê½£ºtypeof¡¢instanceof¡¢constructor¡£
2.1 typeof
typeof²Ù×÷¿ÉÄÜ·µ»ØµÄÀàÐÍΪundefined¡¢object¡¢number¡¢string¡¢function¡¢boolean¡£µ«ÊÇ»áÓÐÒ»
ЩÇé¿ö²¢²»ÄÜÍêÈ«ÅжÏ׼ȷ¡£±ÈÈçtypeof new String('')µÄֵΪobject¡£
2.2 constructor
ÓÐʱºòÎÒÃÇ¿ÉÄÜ»áºÜ͵ÀÁµÄʹÓÃa.constructor ==
String½øÐÐÀàÐÍÅжϣ¬µ«ÊÇconstructorÆäʵÊDz»¿¿Æ×µÄ¶«Î÷¡£ÒòΪµ±ÎÒÃǵ÷ÓÃa.constructorµÄʱºò£¬ÄÚ²¿²Ù×÷ÆäʵÊÇ
ToObject(a).prototype.constructor£¨ToObjectÊÇʲô£¬¿´ÏÂÎķֽ⣩¡£
¿´ÏÂÃæÒ»¶Î´úÂë¾ÍÄÜÃ÷°×£º
String
.
prototype
.
constructor
=
Number
;
alert
(
'test'
.
constructor
==
String
);
//Result£ºfalse
»òÕß
function
MyClass
()
{
}
MyClass
.
prototype
=
{};
alert
((
new
MyClass
).
constructor
==
MyClass
);
//Result£ºfalse
¶øÇÒ£¬Í¨¹ýconstructor²¢²»ÄÜÅжϳö¶ÔÏóʵÀýÀàÐ͵ļ̳йØÏµ¡£ÒòΪjavascriptµÄ¼Ì³ÐÆäʵÊÇͨ¹ýÔÐÍÁ´ÊµÏֵģ¨ÔÐÍÁ´ÊÇʲô£¬¿´
ÏÂÎķֽ⣩¡£
ÁíÍ⣬null.constructor»áÅ׳öÔËÐÐʱµÄTypeError£¬ËùÒÔʹÓÃconstructor³ýÁ˲»¿¿Æ×Í⣬»¹¿ÉÄܰéËæ×ÅÒì³£µÄ·ç
ÏÕ¡£
2.3 instanceof
Àý×Ó£ºa instanceof String
¹ØÓÚobjectÀàÐ͵ÄÅжϣ¬Ê¹ÓÃinstanceofÅжÏÊDZȽϿ¿Æ×µÄ·½·¨¡£instanceofËù×öµÄÊÂÇéÊÇ£¬ÏÈÈ¡³öÀàÐͶÔÏó(String)
µÄprototype³ÉÔ±(String.prototype)£¬È»ºóºÍÒªÅжÏÀàÐ͵ĶÔÏó(a)µÄÔÐÍÁ´ÖеĶÔÏóÖð¸ö±È½Ï¡£µ±·¢ÏÖÊÇÒ»¸ö¶ÔÏóµÄʱºò·µ»Ø
true£¬ÔÐÍÁ´Öе±Ç°½ÚµãÊÇnullµÄʱºò·µ»Øfalse¡£
ÀàÐÍÅжÏʾÀý£ºÅжÏÒ»¸ö±äÁ¿ÊÇ·ñÊÇ×Ö·û´®ÀàÐÍ
function
isString
(
str
)
{
return
(
typeof
str
==
'string'
||
str
instanceof
String
);
}
3. ÀàÐÍת»»
ecma262ÖÐÃèÊöÁËÒÔϼ¸ÖÖÀàÐÍת»»µÄ²Ù×÷£º£¨»¹ÓÐÆäËûµÄ±ÈÈçToInt32µÈ£¬ÕâÀï¾Í²»ÁÐÁË£©
ToNumber£º×ª»»³ÉnumberÐÍ
ToString£º×ª»»³ÉstringÐÍ
Ïà¹ØÎĵµ£º
ÕâÖ÷ÒªÓÃÓÚÑ¡ÔñÆ÷¹ýÂËÖØ¸´ÔªËØÊ±Óõġ£
Éæ¼°ÈýÖÖ¿ÉÄܵÄÊֶΣºsourceIndex£¬uniqueIDÓë×Ô¶¨ÒåµÄuuid¡£
sourceIndex »ñÈ¡ÔªËØ½ÚµãÔÚÒ³ÃæµÄ³öÏÖ˳Ðò£¬¼´ÎªÆäÔÚdocument.all¼¯ºÏÖеÄË÷ÒýºÅ¡£ÓÉÓÚҪ׼ȷ»ñÈ¡ÏȺóλÖã¬Èç¹ûÔÚÆäÇ°Ãæ²åÈëÒ»¸öÔªËØ½Úµã£¬ÄÇôËüµÄλÖþÍÒª¼ÓÒ»¡£»»ÑÔÖ®£¬ËüÊǶ¯Ì¬·ÖÅäµÄ£¬Ã¿´Î¶¼ÒªÖظ´¼ÆËã¡£×¢Ò⣬I ......
Èç¹ûÄãÏë¼ÓÎÒΪºÃÓÑ£ºÇëµã»÷ÒÔÏÂÁ´½Óhttp://hi.csdn.net/invite.php?u=8943&
c=759c7fc189ea23c1
µÚ2ÕÂ
Óï·¨
±¾Õ½éÉÜ
JavaScript
µÄ¾«»ª²¿·ÖµÄÓï·¨£¬²¢¼òÒªµØ¸ÅÊöÆäÓïÑԽṹ¡£
2.1
¿Õ°×
¿Õ°×¿ÉÄܱíÏÖΪ¸ñʽ»¯×Ö·û»ò×¢ÊÍ
µÄÐÎʽ¡£¿Õ°× ......
http://blog.csdn.net/mouyong/archive/2010/01/31/5275562.aspx
µÚ7Õ ÕýÔò±í´ïʽ
JavaScriptµÄÐí¶àÌØÐÔ¶¼½è¼ø×ÔÆäËûÓïÑÔ¡£Óï·¨½è¼ø×ÔJava£¬º¯Êý½è¼ø×ÔScheme£¬ÔÐÍ¼Ì³Ð½è¼ø×ÔSelf¡£¶øJavaScriptµÄÕýÔò±í´ïÊ½ÌØÐÔÔò½è¼ø×ÔPerl¡£
ÕýÔò±í´ïʽÆðÔ´ÓÚ¶ÔÐÎʽÓïÑÔµÄÊýѧÑо¿¡£
ÔÚJavaScriptÖУ¬ÕýÔò±í´ïʽµÄÓï· ......
http://blog.csdn.net/mouyong/archive/2010/02/26/5329773.aspx
µÚ8ÕÂ ·½·¨
JavaScript°üº¬ÁËÉÙÁ¿¿ÉÓÃÔÚ±ê×¼ÀàÐÍÉϵıê×¼·½·¨¡£
Array
array.concat(item…)
concat·½·¨·µ»ØÒ»¸öÐÂÊý×飬Ëü°üº¬arrayµÄdz¸´ÖÆ(shallow copy)²¢½«1¸ö»ò¶à¸ö²ÎÊýitem¸½¼ÓÔÚÆäºó¡£Èç¹û²ÎÊýitemÊÇÒ»¸öÊý×飬ÄÇôËüµÄÿ¸öÔª ......