ECMAScript ÒýÓÃÀàÐÍ
ÒýÓÃÀàÐÍͨ³£½Ð×öÀࣨclass£©¡£
±¾½Ì³Ì»áÌÖÂÛ´óÁ¿µÄ ECMAScript Ô¤¶¨ÒåÒýÓÃÀàÐÍ¡£
ÒýÓÃÀàÐÍ
ÒýÓÃÀàÐÍͨ³£½Ð×öÀࣨclass£©£¬Ò²¾ÍÊÇ˵£¬Óöµ½ÒýÓÃÖµ£¬Ëù´¦ÀíµÄ¾ÍÊǶÔÏó¡£
±¾½Ì³Ì»áÌÖÂÛ´óÁ¿µÄ ECMAScript Ô¤¶¨ÒåÒýÓÃÀàÐÍ¡£
´ÓÏÖÔÚÆð£¬½«ÖصãÌÖÂÛÓëÒѾÌÖÂÛ¹ýµÄÔʼÀàÐͽôÃÜÏà¹ØµÄÒýÓÃÀàÐÍ¡£
×¢Ò⣺´Ó´«Í³ÒâÒåÉÏÀ´Ëµ£¬ECMAScript ²¢²»ÕæÕý¾ßÓÐÀà¡£ÊÂʵÉÏ£¬³ýÁË˵Ã÷²»´æÔÚÀ࣬ÔÚ ECMA-262 Öиù±¾Ã»ÓгöÏÖ¡°ÀࡱÕâ¸ö´Ê¡£ECMAScript ¶¨ÒåÁË¡°¶ÔÏó¶¨Ò塱£¬Âß¼ÉϵȼÛÓÚÆäËû³ÌÐòÉè¼ÆÓïÑÔÖеÄÀà¡£
Ìáʾ£º±¾½Ì³Ì½«Ê¹ÓÃÊõÓï¡°¶ÔÏ󡱡£
¶ÔÏóÊÇÓÉ new ÔËËã·û¼ÓÉÏҪʵÀý»¯µÄ¶ÔÏóµÄÃû×Ö´´½¨µÄ¡£ÀýÈ磬ÏÂÃæµÄ´úÂë´´½¨ Object ¶ÔÏóµÄʵÀý£º
var o = new Object();
ÕâÖÖÓï·¨Óë Java ÓïÑÔµÄÏàËÆ£¬²»¹ýµ±Óв»Ö¹Ò»¸ö²ÎÊýʱ£¬ECMAScript ÒªÇóʹÓÃÀ¨ºÅ¡£Èç¹ûûÓвÎÊý£¬ÈçÒÔÏ´úÂëËùʾ£¬À¨ºÅ¿ÉÒÔÊ¡ÂÔ£º
var o = new Object;
×¢Ò⣺¾¡¹ÜÀ¨ºÅ²»ÊDZØÐèµÄ£¬µ«ÊÇΪÁ˱ÜÃâ»ìÂÒ£¬×îºÃʹÓÃÀ¨ºÅ¡£
Ìáʾ£ºÎÒÃÇ»áÔÚ¶ÔÏó»ù´¡ÕâÒ»ÕÂÖиüÉîÈëµØÌ½ÌÖ¶ÔÏó¼°ÆäÐÐΪ¡£
ÕâÒ»½ÚµÄÖØµãÊǾßÓеȼ۵ÄÔʼÀàÐ͵ÄÒýÓÃÀàÐÍ¡£
Object ¶ÔÏó
Object ¶ÔÏó×ÔÉíÓô¦²»´ó£¬²»¹ýÔÚÁ˽âÆäËûÀà֮ǰ£¬»¹ÊÇÓ¦¸ÃÁ˽âËü¡£ÒòΪ ECMAScript ÖÐµÄ Object ¶ÔÏóÓë Java ÖÐµÄ java.lang.Object ÏàËÆ£¬ECMAScript ÖеÄËùÓжÔÏó¶¼ÓÉÕâ¸ö¶ÔÏó¼Ì³Ð¶øÀ´£¬Object ¶ÔÏóÖеÄËùÓÐÊôÐԺͷ½·¨¶¼»á³öÏÖÔÚÆäËû¶ÔÏóÖУ¬ËùÒÔÀí½âÁË Object ¶ÔÏ󣬾ͿÉÒÔ¸üºÃµØÀí½âÆäËû¶ÔÏó¡£
Object ¶ÔÏó¾ßÓÐÏÂÁÐÊôÐÔ£º
- constructor
- ¶Ô´´½¨¶ÔÏóµÄº¯ÊýµÄÒýÓã¨Ö¸Õ룩¡£¶ÔÓÚ Object ¶ÔÏ󣬸ÃÖ¸ÕëÖ¸ÏòÔʼµÄ Object() º¯Êý¡£
- Prototype
- ¶Ô¸Ã¶ÔÏóµÄ¶ÔÏóÔÐ͵ÄÒýÓ᣶ÔÓÚËùÓеĶÔÏó£¬ËüĬÈÏ·µ»Ø Object ¶ÔÏóµÄÒ»¸öʵÀý¡£
Object ¶ÔÏó»¹¾ßÓм¸¸ö·½·¨£º
- hasOwnProperty(property)
- Åж϶ÔÏóÊÇ·ñÓÐij¸öÌØ¶¨µÄÊôÐÔ¡£±ØÐëÓÃ×Ö·û´®Ö¸¶¨¸ÃÊôÐÔ¡££¨ÀýÈ磬o.hasOwnProperty("name")£©
- IsPrototypeOf(object)
- ÅжϸöÔÏóÊÇ·ñΪÁíÒ»¸ö¶ÔÏóµÄÔÐÍ¡£
- PropertyIsEnumerable
- Åжϸø¶¨µÄÊôÐÔÊÇ·ñ¿ÉÒÔÓà for...in Óï¾ä½øÐÐö¾Ù¡£
- ToString()
- ·µ»Ø¶ÔÏóµÄÔʼ×Ö·û´®±íʾ¡£¶ÔÓÚ Object ¶ÔÏó£¬ECMA-262 ûÓж¨ÒåÕâ¸öÖµ£¬ËùÒÔ²»Í¬µÄ ECMAScript ʵÏÖ¾ßÓв»Í¬µÄÖµ¡£
- ValueOf()
- ·µ»Ø×îÊʺϸöÔÏóµÄÔʼֵ¡£¶ÔÓÚÐí¶à¶ÔÏ󣬸÷½·¨·µ»ØµÄÖµ¶¼Óë ToString() µÄ·µ»ØÖµÏàͬ¡£
×¢ÊÍ£ºÉÏÃæÁгöµÄÿÖÖÊôÐԺͷ½·¨¶¼»á±»ÆäËû¶ÔÏ󸲸ǡ£
Boolean ¶ÔÏó
Boolean ¶ÔÏóÊÇ Boolean ÔʼÀàÐ͵ÄÒýÓÃÀàÐÍ¡£
Òª´´½¨ Boolean ¶ÔÏó£¬Ö»ÐèÒª´«µÝ Boolean Öµ×÷Ϊ²ÎÊý£º
var oBooleanObject = new Boolean(true);
Boolean ¶ÔÏ󽫸²¸Ç Object ¶ÔÏóµÄ ValueOf() ·½·¨£¬·µ»ØÔʼֵ£¬¼´ true ºÍ false¡£ToString() ·½·¨Ò²»á±»¸²¸Ç£¬·µ»Ø×Ö·û´® "true" »ò "false"¡£
Òź¶µÄÊÇ£¬ÔÚ ECMAScript ÖкÜÉÙʹÓà Boolean ¶ÔÏ󣬼´Ê¹Ê¹Óã¬Ò²²»Ò×Àí½â¡£
ÎÊÌâͨ³£³öÏÖÔÚ Boolean ±í´ïʽÖÐʹÓà Boolean ¶ÔÏóʱ¡£ÀýÈ磺
var oFalseObject = new Boolean(false);
var bResult = oFalseObject && true; //Êä³ö true
ÔÚÕâ¶Î´úÂëÖУ¬Óà false Öµ´´½¨ Boolean ¶ÔÏó¡£È»ºóÓÃÕâ¸öÖµÓëÔʼֵ true ½øÐÐ AND ²Ù×÷¡£ÔÚ Boolean ÔËËãÖУ¬false ºÍ true ½øÐÐ AND ²Ù×÷µÄ½á¹ûÊÇ false¡£²»¹ý£¬ÔÚÕâÐдúÂëÖУ¬¼ÆËãµÄÊÇ oFalseObject£¬¶ø²»ÊÇËüµÄÖµ false¡£
ÕýÈçÇ°ÃæÌÖÂÛ¹ýµÄ£¬ÔÚ Boolean ±í´ïʽÖУ¬ËùÓжÔÏ󶼻ᱻ×Ô¶¯×ª»»Îª true£¬ËùÒÔ oFalseObject µÄÖµÊÇ true¡£È»ºó true ÔÙÓë true ½øÐÐ AND ²Ù×÷£¬½á¹ûΪ true¡£
×¢Ò⣺ËäÈ»ÄãÓ¦¸ÃÁ˽â Boolean ¶ÔÏóµÄ¿ÉÓÃÐÔ£¬²»¹ý×îºÃ»¹ÊÇʹÓà Boolean Ôʼֵ£¬±ÜÃâ·¢ÉúÕâÒ»½ÚÌáµ½µÄÎÊÌâ¡£
²ÎÔÄ
ÈçÐè¸ü¶àÓÐ¹Ø Boolean ¶ÔÏóµÄÐÅÏ¢£¬Çë·ÃÎÊ JavaScript Boolean ¶ÔÏó²Î¿¼Êֲᡣ
Number ¶ÔÏó
ÕýÈçÄã¿ÉÄÜÏëµ½µÄ£¬Number ¶ÔÏóÊÇ Number ÔʼÀàÐ͵ÄÒýÓÃÀàÐÍ¡£Òª´´½¨ Number ¶ÔÏ󣬲ÉÓÃÏÂÁдúÂ룺
var oNumberObject = new Number(68);
ÄúÓ¦¸ÃÒÑÈϳö±¾ÕÂÇ°ÃæÐ¡½ÚÖÐÌÖÂÛÌØÊâÖµ£¨Èç Number.MAX_VALUE£©Ê±Ìáµ½µÄ Number ¶ÔÏó¡£ËùÓÐÌØÊâÖµ¶¼ÊÇ Number ¶ÔÏóµÄ¾²Ì¬ÊôÐÔ¡£
ÒªµÃµ½Êý×Ö¶ÔÏóµÄ Number Ôʼֵ£¬Ö»ÐèҪʹÓà valueOf() ·½·¨£º
var iNumber = oNumberObject.valueOf();
µ±È»£¬Number ÀàÒ²ÓÐ toString() ·½·¨£¬ÔÚÌÖÂÛÀàÐÍת»»µÄС½ÚÖÐÒѾÏêϸÌÖÂÛ¹ý¸Ã·½·¨¡£
³ýÁË´Ó Object ¶ÔÏó¼Ì³ÐµÄ±ê×¼·½·¨Í⣬Number ¶ÔÏó»¹Óм¸¸ö´¦ÀíÊýÖµµÄרÓ÷½·¨¡£
toFixed() ·½·¨
toFixed() ·½·¨·µ»ØµÄÊǾßÓÐÖ¸¶¨Î»ÊýСÊýµÄÊý×ÖµÄ×Ö·û´®±íʾ¡£ÀýÈ磺
var oNumberObject = new Number(68);
alert(oNumberObject.toFixed(2)); //Êä³ö "68.00"
ÔÚÕâÀtoFixed() ·½·¨µÄ²ÎÊýÊÇ 2£¬ËµÃ÷Ó¦¸ÃÏÔʾÁ½Î»Ð¡Êý¡£¸Ã·½·¨·µ»Ø "68.00"£¬¿ÕµÄ×Ö·û´®Î»ÓÉ 0 À´²¹³ä¡£¶ÔÓÚ´¦Àí»õ±ÒµÄÓ¦ÓóÌÐò£¬¸Ã·½·¨·Ç³£ÓÐÓá£toFixed() ·½·¨Äܱíʾ¾ßÓÐ 0 µ½ 20 λСÊýµÄÊý×Ö£¬³¬¹ýÕâ¸ö·¶Î§µÄÖµ»áÒý·¢´íÎó¡£
toExponential() ·½·¨
Óë¸ñʽ»¯Êý×ÖÏà¹ØµÄÁíÒ»¸ö·½·¨ÊÇ toExponential()£¬Ëü·µ»ØµÄÊÇÓÿÆÑ§¼ÆÊý·¨±íʾµÄÊý×ÖµÄ×Ö·û´®ÐÎʽ¡£
Óë toFixed() ·½·¨ÏàËÆ£¬toExponential() ·½·¨Ò²ÓÐÒ»¸ö²ÎÊý£¬Ö¸¶¨ÒªÊä³öµÄСÊýµÄλÊý¡£ÀýÈ磺
var oNumberObject = new Number(68);
alert(oNumberObject.toExponential(1)); //Êä³ö "6.8e+1"
Õâ¶Î´úÂëµÄ½á¹ûÊÇ "6.8e+1"£¬Ç°Ãæ½âÊ͹ý£¬Ëü±íʾ 6.8x101¡£ÎÊÌâÊÇ£¬Èç¹û²»ÖªµÀÒªÓÃÄÄÖÖÐÎʽ£¨Ô¤¶¨ÐÎʽ»òÖ¸ÊýÐÎʽ£©±íʾÊý×ÖÔõô°ì£¿¿ÉÒÔÓà toPrecision() ·½·¨¡£
toPrecision() ·½·¨
toPrecision() ·½·¨¸ù¾Ý×îÓÐÒâÒåµÄÐÎʽÀ´·µ»ØÊý×ÖµÄÔ¤¶¨ÐÎʽ»òÖ¸ÊýÐÎʽ¡£ËüÓÐÒ»¸ö²ÎÊý£¬¼´ÓÃÓÚ±íʾÊýµÄÊý×Ö×ÜÊý£¨²»°üÀ¨Ö¸Êý£©¡£ÀýÈ磬
var oNumberObject = new Number(68);
alert(oNumberObject.toPrecision(1)); //Êä³ö "7e+1"
Õâ¶Î´úÂëµÄÈÎÎñÊÇÓÃһλÊý×Ö±íʾÊý×Ö 68£¬½á¹ûΪ "7e+1"£¬ÒÔÁíÍâµÄÐÎʽ±íʾ¼´ 70¡£µÄÈ·£¬toPrecision() ·½·¨»á¶ÔÊý½øÐÐÉáÈë¡£²»¹ý£¬Èç¹ûÓà 2 λÊý×Ö±íʾ 68£¬¾ÍÈÝÒ×¶àÁË£º
var oNumberObject = new Number(68);
alert(oNumberObject.toPrecision(2)); //Êä³ö "68"
µ±È»£¬Êä³öµÄÊÇ "68"£¬ÒòΪÕâÕýÊǸÃÊýµÄ׼ȷ±íʾ¡£²»¹ý£¬Èç¹ûÖ¸¶¨µÄλÊý¶àÓÚÐèÒªµÄλÊýÓÖÈçºÎÄØ£¿
var oNumberObject = new Number(68);
alert(oNumberObject.toPrecision(3)); //Êä³ö "68.0"
ÔÚÕâÖÖÇé¿öÏ£¬toPrecision(3) µÈ¼ÛÓÚ toFixed(1)£¬Êä³öµÄÊÇ "68.0"¡£
toFixed()¡¢toExponential() ºÍ toPrecision() ·½·¨¶¼»á½øÐÐÉáÈë²Ù×÷£¬ÒÔ±ãÓÃÕýÈ·µÄСÊýλÊýÕýÈ·µØ±íʾһ¸öÊý¡£
Ìáʾ£ºÓë Boolean ¶ÔÏóÏàËÆ£¬Number ¶ÔÏóÒ²ºÜÖØÒª£¬²»¹ýÓ¦¸ÃÉÙÓÃÕâÖÖ¶ÔÏó£¬ÒÔ±ÜÃâDZÔÚµÄÎÊÌâ¡£Ö»Òª¿ÉÄÜ£¬¶¼Ê¹ÓÃÊý×ÖµÄÔʼ±íʾ·¨¡£
²ÎÔÄ
ÈçÐè¸ü¶àÓÐ¹Ø Number ¶ÔÏóµÄÐÅÏ¢£¬Çë·ÃÎÊ JavaScript Number ¶ÔÏó²Î¿¼Êֲᡣ
String ¶ÔÏó
String ¶ÔÏóÊÇ String ÔʼÀàÐ͵ĶÔÏó±íʾ·¨£¬ËüÊÇÒÔÏ·½Ê½´´½¨µÄ£º
var oStringObject = new String("hello world");
String ¶ÔÏóµÄ valueOf() ·½·¨ºÍ toString() ·½·¨¶¼»á·µ»Ø String ÀàÐ͵ÄÔʼֵ£º
alert(oStringObject.valueOf() == oStringObject.toString()); //Êä³ö "true"
Èç¹ûÔËÐÐÕâ¶Î´úÂ룬Êä³öÊÇ "true"£¬ËµÃ÷ÕâÐ©ÖµÕæµÄÏàµÈ¡£
×¢ÊÍ£ºString ¶ÔÏóÊÇ ECMAScript ÖбȽϸ´ÔÓµÄÒýÓÃÀàÐÍÖ®Ò»¡£Í¬Ñù£¬±¾½ÚµÄÖØµãÖ»ÊÇ String ÀàµÄ»ù±¾¹¦ÄÜ¡£¸ü¶àµÄ¸ß¼¶¹¦ÄÜÇëÔĶÁ±¾½Ì³ÌÏà¹ØµÄÕ½ڣ¬»ò²ÎÔÄ JavaScript String ¶ÔÏó²Î¿¼Êֲᡣ
length ÊôÐÔ
String ¶ÔÏó¾ßÓÐÊôÐÔ length£¬ËüÊÇ×Ö·û´®ÖеÄ×Ö·û¸öÊý£º
var oStringObject = new String("hello world");
alert(oStringObject.length); //Êä³ö "11"
Õâ¸öÀý×ÓÊä³öµÄÊÇ "11"£¬¼´ "hello world" ÖеÄ×Ö·û¸öÊý¡£×¢Ò⣬¼´Ê¹×Ö·û´®°üº¬Ë«×Ö½ÚµÄ×Ö·û£¨Óë ASCII ×Ö·ûÏà¶Ô£¬ASCII ×Ö·ûÖ»Õ¼ÓÃÒ»¸ö×Ö½Ú£©£¬Ã¿¸ö×Ö·ûÒ²Ö»ËãÒ»¸ö×Ö·û¡£
charAt() ºÍ charCodeAt() ·½·¨
String ¶ÔÏó»¹ÓµÓдóÁ¿µÄ·½·¨¡£
Ê×ÏÈ£¬Á½¸ö·½·¨ charAt() ºÍ charCodeAt() ·ÃÎʵÄÊÇ×Ö·û´®Öеĵ¥¸ö×Ö·û¡£ÕâÁ½¸ö·½·¨¶¼ÓÐÒ»¸ö²ÎÊý£¬¼´Òª²Ù×÷µÄ×Ö·ûµÄλÖá£
charAt() ·½·¨·µ»ØµÄÊǰüº¬Ö¸¶¨Î»Öô¦µÄ×Ö·ûµÄ×Ö·û´®£º
var oStringObject = new String("hello world");
alert(oStringObject.charAt(1)); //Êä³ö "e"
ÔÚ×Ö·û´® "hello world" ÖУ¬Î»Öà 1 ´¦µÄ×Ö·ûÊÇ "e"¡£ÔÚ¡°ECMAScript ÔʼÀàÐÍ¡±ÕâÒ»½ÚÖÐÎÒÃǽ²¹ý£¬µÚÒ»¸ö×Ö·ûµÄλÖÃÊÇ 0£¬µÚ¶þ¸ö×Ö·ûµÄλÖÃÊÇ 1£¬ÒÀ´ËÀàÍÆ¡£Òò´Ë£¬µ÷Óà charAt(1) ·µ»ØµÄÊÇ "e"¡£
Èç¹ûÏëµÃµ½µÄ²»ÊÇ×Ö·û£¬¶øÊÇ×Ö·û´úÂ룬ÄÇô¿ÉÒÔµ÷Óà charCodeAt() ·½·¨£º
var oStringObject = new String("hello world");
alert(oStringObject.charCodeAt(1)); //Êä³ö "101"
Õâ¸öÀý×ÓÊä³ö "101"£¬¼´Ð¡Ð´×Öĸ "e" µÄ×Ö·û´úÂë¡£
concat() ·½·¨
½ÓÏÂÀ´ÊÇ concat() ·½·¨£¬ÓÃÓÚ°ÑÒ»¸ö»ò¶à¸ö×Ö·û´®Á¬½Óµ½ String ¶ÔÏóµÄÔʼֵÉÏ¡£¸Ã·½·¨·µ»ØµÄÊÇ String Ôʼֵ£¬±£³ÖÔʼµÄ String ¶ÔÏ󲻱䣺
var oStringObject = new String("hello "); var sResult = oStringObject.concat("world"); alert(sResult); //Êä³ö "hello world" alert(oStringObject); //Êä³ö "hello "
ÔÚÉÏÃæÕâ¶Î´úÂëÖУ¬µ÷Óà concat() ·½·¨·µ»ØµÄÊÇ "hello world"£¬¶ø String ¶ÔÏ󴿷ŵÄÈÔÈ»ÊÇ "hello "¡£³öÓÚÕâÖÖÔÒò£¬½Ï³£¼ûµÄÊÇÓüӺţ¨+£©Á¬½Ó×Ö·û´®£¬ÒòΪÕâÖÖÐÎʽ´ÓÂß¼ÉϱíÃ÷ÁËÕæÕýµÄÐÐΪ£º
var oStringObject = new String("hello "); var sResult = oStringObject + "world"; alert(sResult); //Êä³ö "hello world" alert(oStringObject); //Êä³ö "hello "
indexOf() ºÍ lastIndexOf() ·½·¨
Æù½ñΪֹ£¬ÒÑÌÖÂÛ¹ýÁ¬½Ó×Ö·û´®µÄ·½·¨£¬·ÃÎÊ×Ö·û´®Öеĵ¥¸ö×Ö·ûµÄ·½·¨¡£²»¹ýÈç¹ûÎÞ·¨È·¶¨ÔÚij¸ö×Ö·û´®ÖÐÊÇ·ñȷʵ´æÔÚÒ»¸ö×Ö·û£¬Ó¦¸Ãµ÷ÓÃʲô·½·¨ÄØ£¿Õâʱ£¬¿Éµ÷Óà indexOf() ºÍ lastIndexOf() ·½·¨¡£
indexOf() ºÍ lastIndexOf() ·½·¨·µ»ØµÄ¶¼ÊÇÖ¸¶¨µÄ×Ó´®ÔÚÁíÒ»¸ö×Ö·û´®ÖеÄλÖã¬Èç¹ûûÓÐÕÒ²»µ½×Ó´®£¬Ôò·µ»Ø -1¡£
ÕâÁ½¸ö·½·¨µÄ²»Í¬Ö®´¦ÔÚÓÚ£¬indexOf() ·½·¨ÊÇ´Ó×Ö·û´®µÄ¿ªÍ·£¨Î»Öà 0£©¿ªÊ¼¼ìË÷×Ö·û´®£¬¶ø lastIndexOf() ·½·¨ÔòÊÇ´Ó×Ö·û´®µÄ½áβ¿ªÊ¼¼ìË÷×Ó´®¡£ÀýÈ磺
var oStringObject = new String("hello world!"); alert(oStringObject.indexOf("o")); Êä³ö "4" alert(oStringObject.lastIndexOf("o")); Êä³ö "7"
ÔÚÕâÀµÚÒ»¸ö "o" ×Ö·û´®³öÏÖÔÚλÖà 4£¬¼´ "hello" ÖÐµÄ "o"£»×îºóÒ»¸ö "o" ³öÏÖÔÚλÖà 7£¬¼´ "world" ÖÐµÄ "o"¡£Èç¹û¸Ã×Ö·û´®ÖÐÖ»ÓÐÒ»¸ö "o" ×Ö·û´®£¬ÄÇô indexOf() ºÍ lastIndexOf() ·½·¨·µ»ØµÄλÖÃÏàͬ¡£
localeCompare() ·½·¨
ÏÂÒ»¸ö·½·¨ÊÇ localeCompare()£¬¶Ô×Ö·û´®½øÐÐÅÅÐò¡£¸Ã·½·¨ÓÐÒ»¸ö²ÎÊý - Òª½øÐбȽϵÄ×Ö·û´®£¬·µ»ØµÄÊÇÏÂÁÐÈý¸öÖµÖ®Ò»£º
- Èç¹û String ¶ÔÏó°´ÕÕ×Öĸ˳ÐòÅÅÔÚ²ÎÊýÖеÄ×Ö·û´®Ö®Ç°£¬·µ»Ø¸ºÊý¡£
- Èç¹û String ¶ÔÏóµÈÓÚ²ÎÊýÖеÄ×Ö·û´®£¬·µ»Ø 0
- Èç¹û String ¶ÔÏó°´ÕÕ×Öĸ˳ÐòÅÅÔÚ²ÎÊýÖеÄ×Ö·û´®Ö®ºó£¬·µ»ØÕýÊý¡£
×¢ÊÍ£ºÈç¹û·µ»Ø¸ºÊý£¬ÄÇô×î³£¼ûµÄÊÇ -1£¬²»¹ýÕæÕý·µ»ØµÄÊÇÓÉʵÏÖ¾ö¶¨µÄ¡£Èç¹û·µ»ØÕýÊý£¬ÄÇôͬÑùµÄ£¬×î³£¼ûµÄÊÇ 1£¬²»¹ýÕæÕý·µ»ØµÄÊÇÓÉʵÏÖ¾ö¶¨µÄ¡£
ʾÀýÈçÏ£º
var oStringObject = new String("yellow"); alert(oStringObject.localeCompare("brick")); //Êä³ö "1" alert(oStringObject.localeCompare("yellow")); //Êä³ö "0" alert(oStringObject.localeCompare("zoo")); //Êä³ö "-1"
ÔÚÕâ¶Î´úÂëÖУ¬×Ö·û´® "yellow" Óë 3 ¸öÖµ½øÐÐÁ˶Աȣ¬¼´ "brick"¡¢"yellow" ºÍ "zoo"¡£ÓÉÓÚ°´ÕÕ×Öĸ˳ÐòÅÅÁУ¬"yellow" λÓÚ "brick" Ö®ºó£¬ËùÒÔ localeCompare() ·µ»Ø 1£»"yellow" µÈÓÚ "yellow"£¬ËùÒÔ localeCompare() ·µ»Ø 0£»"zoo" λÓÚ "yellow" Ö®ºó£¬localeCompare() ·µ»Ø -1¡£ÔÙÇ¿µ÷Ò»´Î£¬ÓÉÓÚ·µ»ØµÄÖµÊÇÓÉʵÏÖ¾ö¶¨µÄ£¬ËùÒÔ×îºÃÒÔÏÂÃæµÄ·½Ê½µ÷Óà localeCompare() ·½·¨£º
var oStringObject1 = new String("yellow"); var oStringObject2 = new String("brick"); var iResult = oStringObject1.localeCompare(oStringObject2); if(iResult < 0) { alert(oStringObject1 + " comes before " + oStringObject2); } else if (iResult > 0) { alert(oStringObject1 + " comes after " + oStringObject2); } else { alert("The two strings are equal"); }
²ÉÓÃÕâÖֽṹ£¬¿ÉÒÔÈ·±£Õâ¶Î´úÂëÔÚËùÓÐʵÏÖÖж¼ÄÜÕýÈ·ÔËÐС£
localeCompare() ·½·¨µÄ¶ÀÌØÖ®´¦ÔÚÓÚ£¬ÊµÏÖËù´¦µÄÇøÓò£¨locale£¬¼æÖ¸¹ú¼Ò/µØÇøºÍÓïÑÔ£©È·ÇÐ˵Ã÷ÁËÕâÖÖ·½·¨ÔËÐеķ½Ê½¡£ÔÚÃÀ¹ú£¬Ó¢ÓïÊÇ ECMAScript ʵÏֵıê×¼ÓïÑÔ£¬localeCompare() ÊÇÇø·Ö´óСдµÄ£¬´óд×ÖĸÔÚ×Öĸ˳ÐòÉÏÅÅÔÚСд×Öĸ֮ºó¡£²»¹ý£¬ÔÚÆäËûÇøÓò£¬Çé¿ö¿ÉÄܲ¢·ÇÈç´Ë¡£
slice() ºÍ substring()
ECMAScript ÌṩÁËÁ½ÖÖ·½·¨´Ó×Ó´®´´½¨×Ö·û´®Öµ£¬¼´ slice() ºÍ substring()¡£ÕâÁ½ÖÖ·½·¨·µ»ØµÄ¶¼ÊÇÒª´¦ÀíµÄ×Ö·û´®µÄ×Ó´®£¬¶¼½ÓÊÜÒ»¸ö»òÁ½¸ö²ÎÊý¡£µÚÒ»¸ö²ÎÊýÊÇÒª»ñÈ¡µÄ×Ó´®µÄÆðʼλÖ㬵ڶþ¸ö²ÎÊý£¨Èç¹ûʹÓõϰ£©ÊÇÒª»ñÈ¡×Ó´®ÖÕֹǰµÄλÖã¨Ò²¾ÍÊÇ˵£¬»ñÈ¡ÖÕֹλÖô¦µÄ×Ö·û²»°üÀ¨ÔÚ·µ»ØµÄÖµÄÚ£©¡£Èç¹ûÊ¡ÂÔµÚ¶þ¸ö²ÎÊý£¬ÖÕֹλ¾ÍĬÈÏΪ×Ö·û´®µÄ³¤¶È¡£
Óë concat() ·½·¨Ò»Ñù£¬slice() ºÍ substring() ·½·¨¶¼²»¸Ä±ä String ¶ÔÏó×ÔÉíµÄÖµ¡£ËüÃÇÖ»·µ»ØÔʼµÄ String Öµ£¬±£³Ö String ¶ÔÏ󲻱䡣
var oStringObject = new String("hello world"); alert(oStringObject.slice("3")); //Êä³ö "lo world" alert(oStringObject.substring("3")); //Êä³ö "lo world" alert(oStringObject.slice("3", "7")); //Êä³ö "lo w" alert(oStringObject.substring("3", "7")); //Êä³ö "lo w"
ÔÚÕâ¸öÀý×ÓÖУ¬slice() ºÍ substring() µÄÓ÷¨Ïàͬ£¬·µ»ØÖµÒ²Ò»Ñù¡£µ±Ö»ÓвÎÊý 3 ʱ£¬Á½¸ö·½·¨·µ»ØµÄ¶¼ÊÇ "lo world"£¬ÒòΪ "hello" Öеĵڶþ¸ö "l" λÓÚλÖà 3 ÉÏ¡£µ±ÓÐÁ½¸ö²ÎÊý "3" ºÍ "7" ʱ£¬Á½¸ö·½·¨·µ»ØµÄÖµ¶¼ÊÇ "lo w"£¨"world" ÖеÄ×Öĸ "o" λÓÚλÖà 7 ÉÏ£¬ËùÒÔËü²»°üÀ¨ÔÚ½á¹ûÖУ©¡£
ΪʲôÓÐÁ½¸ö¹¦ÄÜÍêÈ«ÏàͬµÄ·½·¨ÄØ£¿ÊÂʵÉÏ£¬ÕâÁ½¸ö·½·¨²¢²»ÍêÈ«Ïàͬ£¬²»¹ýÖ»ÔÚ²ÎÊýΪ¸ºÊýʱ£¬ËüÃÇ´¦Àí²ÎÊýµÄ·½Ê½²ÅÉÔÓв»Í¬¡£
¶ÔÓÚ¸ºÊý²ÎÊý£¬slice() ·½·¨»áÓÃ×Ö·û´®µÄ³¤¶È¼ÓÉϲÎÊý£¬substring() ·½·¨Ôò½«Æä×÷Ϊ 0 ´¦Àí£¨Ò²¾ÍÊÇ˵½«ºöÂÔËü£©¡£ÀýÈ磺
var oStringObject = new String("hello world"); alert(oStringObject.slice("-3")); //Êä³ö "rld" alert(oStringObject.substring("-3")); //Êä³ö "hello world" alert(oStringObject.slice("3, -4")); //Êä³ö "lo w" alert(oStringObject.substring("3, -4")); //Êä³ö "hel"
ÕâÑù¼´¿É¿´³ö slice() ºÍ substring() ·½·¨µÄÖ÷Òª²»Í¬¡£
µ±Ö»ÓвÎÊý -3 ʱ£¬slice() ·µ»Ø "rld"£¬substring() Ôò·µ»Ø "hello world"¡£ÕâÊÇÒòΪ¶ÔÓÚ×Ö·û´® "hello world"£¬slice("-3") ½«±»×ª»»³É slice("8")£¬¶ø substring("-3") ½«±»×ª»»³É substring("0")¡£
ͬÑù£¬Ê¹ÓòÎÊý 3 ºÍ -4 ʱ£¬²î±ðÒ²ºÜÃ÷ÏÔ¡£slice() ½«±»×ª»»³É slice(3, 7)£¬ÓëÇ°ÃæµÄÀý×ÓÏàͬ£¬·µ»Ø "lo w"¡£¶ø substring() ·½·¨Ôò½«Á½¸ö²ÎÊý½âÊÍΪ substring(3, 0)£¬Êµ¼ÊÉϼ´ substring(0, 3)£¬ÒòΪ substring() ×ܰѽÏСµÄÊý×Ö×÷ΪÆðʼ룬½Ï´óµÄÊý×Ö×÷ΪÖÕֹλ¡£Òò´Ë£¬substring("3, -4") ·µ»ØµÄÊÇ "hel"¡£ÕâÀïµÄ×îºóÒ»ÐдúÂëÓÃÀ´ËµÃ÷ÈçºÎʹÓÃÕâЩ·½·¨¡£
toLowerCase()¡¢toLocaleLowerCase()¡¢toUpperCase() ºÍ toLocaleUpperCase()
×îºóÒ»Ì×ÒªÌÖÂ۵ķ½·¨Éæ¼°´óСдת»»¡£ÓÐ 4 ÖÖ·½·¨ÓÃÓÚÖ´ÐдóСдת»»£¬¼´
- toLowerCase()
- toLocaleLowerCase()
- toUpperCase()
- toLocaleUpperCase()
´ÓÃû×ÖÉÏ¿ÉÒÔ¿´³öËüÃǵÄÓÃ;£¬Ç°Á½ÖÖ·½·¨ÓÃÓÚ°Ñ×Ö·û´®×ª»»³ÉȫСдµÄ£¬ºóÁ½ÖÖ·½·¨ÓÃÓÚ°Ñ×Ö·û´®×ª»»³ÉÈ«´óдµÄ¡£
toLowerCase() ºÍ toUpperCase() ·½·¨ÊÇÔʼµÄ£¬ÊÇÒÔ java.lang.String ÖÐÏàͬ·½·¨ÎªÔÐÍʵÏֵġ£
toLocaleLowerCase() ºÍ toLocaleUpperCase() ·½·¨ÊÇ»ùÓÚÌØ¶¨µÄÇøÓòʵÏֵģ¨Óë localeCompare() ·½·¨Ïàͬ£©¡£ÔÚÐí¶àÇøÓòÖУ¬ÇøÓòÌØ¶¨µÄ·½·¨¶¼ÓëͨÓõķ½·¨ÍêÈ«Ïàͬ¡£²»¹ý£¬Óм¸ÖÖÓïÑÔ¶Ô Unicode ´óСдת»»Ó¦ÓÃÁËÌØ¶¨µÄ¹æÔò£¨ÀýÈçÍÁ¶úÆäÓ£¬Òò´Ë±ØÐëʹÓÃÇøÓòÌØ¶¨µÄ·½·¨²ÅÄܽøÐÐÕýÈ·µÄת»»¡£
var oStringObject = new String("Hello World"); alert(oStringObject.toLocaleUpperCase()); //Êä³ö "HELLO WORLD" alert(oStringObject.toUpperCase()); //Êä³ö "HELLO WORLD" alert(oStringObject.toLocaleLowerCase()); //Êä³ö "hello world" alert(oStringObject.toLowerCase()); //Êä³ö "hello world"
Õâ¶Î´úÂëÖУ¬toUpperCase() ºÍ toLocaleUpperCase() Êä³öµÄ¶¼ÊÇ "HELLO WORLD"£¬toLowerCase() ºÍ toLocaleLowerCase() Êä³öµÄ¶¼ÊÇ "hello world"¡£Ò»°ãÀ´Ëµ£¬Èç¹û²»ÖªµÀÔÚÒÔÄÄÖÖ±àÂëÔËÐÐÒ»ÖÖÓïÑÔ£¬ÔòʹÓÃÇøÓòÌØ¶¨µÄ·½·¨±È½Ï°²È«¡£
Ìáʾ£º¼Çס£¬String ¶ÔÏóµÄËùÓÐÊôÐԺͷ½·¨¶¼¿ÉÓ¦ÓÃÓÚ String ÔʼֵÉÏ£¬ÒòΪËüÃÇÊÇα¶ÔÏó¡£
instanceof ÔËËã·û
ÔÚʹÓà typeof ÔËËã·ûʱ²ÉÓÃÒýÓÃÀàÐÍ´æ´¢Öµ»á³öÏÖÒ»¸öÎÊÌ⣬ÎÞÂÛÒýÓõÄÊÇʲôÀàÐ͵ĶÔÏó£¬Ëü¶¼·µ»Ø "object"¡£ECMAScript ÒýÈëÁËÁíÒ»¸ö Java ÔËËã·û instanceof À´½â¾öÕâ¸öÎÊÌâ¡£
instanceof ÔËËã·ûÓë typeof ÔËËã·ûÏàËÆ£¬ÓÃÓÚʶ±ðÕýÔÚ´¦ÀíµÄ¶ÔÏóµÄÀàÐÍ¡£Óë typeof ·½·¨²»Í¬µÄÊÇ£¬instanceof ·½·¨ÒªÇ󿪷¢ÕßÃ÷È·µØÈ·È϶ÔÏóÎªÄ³ÌØ¶¨ÀàÐÍ¡£ÀýÈ磺
var oStringObject = new String("hello world");
alert(oStringObject instanceof String); //Êä³ö "true"
Õâ¶Î´úÂëÎʵÄÊÇ¡°±äÁ¿ oStringObject ÊÇ·ñΪ String ¶ÔÏóµÄʵÀý£¿¡±oStringObject µÄÈ·ÊÇ String ¶ÔÏóµÄʵÀý£¬Òò´Ë½á¹ûÊÇ "true"¡£¾¡¹Ü²»Ïñ typeof ·½·¨ÄÇÑùÁé»î£¬µ«ÊÇÔÚ typeof ·½·¨·µ»Ø "object" µÄÇé¿öÏ£¬instanceof ·½·¨»¹ÊǺÜÓÐÓõġ£