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 ·½·¨»¹ÊǺÜÓÐÓõġ£

VUE