JavaScript Êý×Ö

JavaScript Ö»ÓÐÒ»ÖÖÊýÖµÀàÐÍ¡£

ÊéдÊýֵʱ´ø²»´øÐ¡Êýµã¾ù¿É¡£

JavaScript ÊýÖµ

Êéд JavaScript ÊýÖµ¼È¿ÉÒÔ´øÐ¡Êýµã£¬Ò²¿ÉÒÔ²»´ø£º

ʵÀý

var x = 3.14;    // ´øÐ¡ÊýµãµÄÊýÖµ
var y = 3;       // ²»´øÐ¡ÊýµãµÄÊýÖµ

Ç××ÔÊÔÒ»ÊÔ

³¬´ó»ò³¬Ð¡µÄÊý¿Éͨ¹ý¿ÆÑ§¼ÆÊý·¨À´Ð´£º

ʵÀý

var x = 123e5;    // 12300000
var y = 123e-5;   // 0.00123

Ç××ÔÊÔÒ»ÊÔ

JavaScript ÊýֵʼÖÕÊÇ 64 λµÄ¸¡µãÊý

ÓëÐí¶àÆäËû±à³ÌÓïÑÔ²»Í¬£¬JavaScript ²»»á¶¨Ò岻ͬÀàÐ͵ÄÊý£¬±ÈÈçÕûÊý¡¢¶ÌµÄ¡¢³¤µÄ¡¢¸¡µãµÄµÈµÈ¡£

JavaScript ÊýֵʼÖÕÒÔË«¾«¶È¸¡µãÊýÀ´´æ´¢£¬¸ù¾Ý¹ú¼Ê IEEE 754 ±ê×¼¡£

´Ë¸ñʽÓà 64 λ´æ´¢ÊýÖµ£¬ÆäÖÐ 0 µ½ 51 ´æ´¢Êý×Ö£¨Æ¬¶Î£©£¬52 µ½ 62 ´æ´¢Ö¸Êý£¬63 λ´æ´¢·ûºÅ£º

Öµ(aka Fraction/Mantissa) Ö¸Êý ·ûºÅ
52 bits(0 - 51) 11 bits (52 - 62) 1 bit (63)

¾«¶È

ÕûÊý£¨²»Ê¹ÓÃÖ¸Êý»ò¿ÆÑ§¼ÆÊý·¨£©»á±»¾«È·µ½ 15 λ¡£

ʵÀý

var x = 999999999999999;   // x ½«ÊÇ 999999999999999
var y = 9999999999999999;  // y ½«ÊÇ 10000000000000000

Ç××ÔÊÔÒ»ÊÔ

СÊýµÄ×î´óÊýÊÇ 17 룬µ«ÊǸ¡µãµÄËãÊý²¢²»×ÜÊÇ 100% ¾«×¼£º

ʵÀý

var x = 0.2 + 0.1;         // x ½«ÊÇ 0.30000000000000004

Ç××ÔÊÔÒ»ÊÔ

ʹÓó˳ý·¨ÓÐÖúÓÚ½â¾öÉÏÃæµÄÎÊÌ⣺

ʵÀý

var x = (0.2 * 10 + 0.1 * 10) / 10;       // x ½«ÊÇ 0.3

Ç××ÔÊÔÒ»ÊÔ

Êý×ÖºÍ×Ö·û´®Ïà¼Ó

¾¯¸æ£¡£¡

JavaScript µÄ¼Ó·¨ºÍ¼¶Áª£¨concatenation£©¶¼Ê¹Óà + ÔËËã·û¡£

Êý×ÖÓüӷ¨¡£×Ö·û´®Óü¶Áª¡£

Èç¹ûÄú¶ÔÁ½¸öÊýÏà¼Ó£¬½á¹û½«ÊÇÒ»¸öÊý£º

ʵÀý

var x = 10;
var y = 20;
var z = x + y;           // z ½«ÊÇ 30£¨Ò»¸öÊý£©

Ç××ÔÊÔÒ»ÊÔ

Èç¹û¶ÔÁ½¸ö×Ö·û´®Ïà¼Ó£¬½á¹û½«ÊÇÒ»¸ö×Ö·û´®µÄ¼¶Áª£º

ʵÀý

var x = "10";
var y = "20";
var z = x + y;           // z ½«ÊÇ 1020£¨×Ö·û´®£©

Ç××ÔÊÔÒ»ÊÔ

Èç¹ûÄú¶ÔÒ»¸öÊýºÍÒ»¸ö×Ö·û´®Ïà¼Ó£¬½á¹ûÒ²ÊÇ×Ö·û´®¼¶Áª£º

ʵÀý

var x = 10;
var y = "20";
var z = x + y;           // z ½«ÊÇ 1020£¨Ò»¸ö×Ö·û´®£©

Ç××ÔÊÔÒ»ÊÔ

Èç¹ûÄú¶ÔÒ»¸ö×Ö·û´®ºÍÒ»¸öÊý×ÖÏà¼Ó£¬½á¹ûÒ²ÊÇ×Ö·û´®¼¶Áª£º

ʵÀý

var x = "10";
var y = 20;
var z = x + y;           // z ½«ÊÇ 1020£¨×Ö·û´®£©

Ç××ÔÊÔÒ»ÊÔ

³£¼ûµÄ´íÎóÊÇÈÏΪ½á¹ûÓ¦¸ÃÊÇ 30£º

ʵÀý

var x = 10;
var y = 20;
var z = "The result is: " + x + y;

Ç××ÔÊÔÒ»ÊÔ

³£¼ûµÄ´íÎóÊÇÈÏΪ½á¹ûÓ¦¸ÃÊÇ 102030£º

ʵÀý

var x = 10;
var y = 20;
var z = "30";
var result = x + y + z;

Ç××ÔÊÔÒ»ÊÔ

JavaScript ´Ó×óÏòÓÒ½øÐбàÒë¡£

ÒòΪ x ºÍ y ¶¼ÊÇÊý£¬10 + 20 ½«±»Ïà¼Ó¡£

ÒòΪ z ÊÇ×Ö·û´®£¬30 + "30" ±»¼¶Áª¡£

Êý×Ö×Ö·û´®

JavaScript ×Ö·û´®¿ÉÒÔÓµÓÐÊý×ÖÄÚÈÝ£º

var x = 100;         // x ÊÇÊý×Ö

var y = "100";       // y ÊÇ×Ö·û´®

ÔÚËùÓÐÊý×ÖÔËËãÖУ¬JavaScript »á³¢ÊÔ½«×Ö·û´®×ª»»ÎªÊý×Ö£º

¸ÃÀýÈç´ËÔËÐУº

var x = "100";
var y = "10";
var z = x / y;       // z ½«ÊÇ 10

Ç××ÔÊÔÒ»ÊÔ

¸ÃÀýÒ²½«Èç´ËÔËÐУº

var x = "100";
var y = "10";
var z = x * y;       // z ½«ÊÇ 1000

Ç××ÔÊÔÒ»ÊÔ

¸ÃÀýÈç´ËÔËÐУº

var x = "100";
var y = "10";
var z = x - y;       // z ½«ÊÇ 90

Ç××ÔÊÔÒ»ÊÔ

µ«ÊǸÃÀý²»»áÈçÉÏÀý°ãÔËÐУº

var x = "100";
var y = "10";
var z = x + y;       // z ²»»áÊÇ 110£¨¶øÊÇ 10010£©

Ç××ÔÊÔÒ»ÊÔ

ÔÚ×îºóÒ»¸öÀý×ÓÖУ¬JavaScript Óà + ÔËËã·û¶Ô×Ö·û´®½øÐÐÁ˼¶Áª¡£

NaN - ·ÇÊýÖµ

NaN ÊôÓÚ JavaScript ±£Áô´Ê£¬Ö¸Ê¾Ä³¸öÊý²»ÊǺϷ¨Êý¡£

³¢ÊÔÓÃÒ»¸ö·ÇÊý×Ö×Ö·û´®½øÐгý·¨»áµÃµ½ NaN£¨Not a Number£©£º

ʵÀý

var x = 100 / "Apple";  // x ½«ÊÇ NaN£¨Not a Number£©

Ç××ÔÊÔÒ»ÊÔ

²»¹ý£¬¼ÙÈç×Ö·û´®°üº¬ÊýÖµ£¬Ôò½á¹û½«ÊÇÊý£º

ʵÀý

var x = 100 / "10";     // x ½«ÊÇ 10

Ç××ÔÊÔÒ»ÊÔ

Äú¿ÉʹÓÃÈ«¾Ö JavaScript º¯Êý isNaN() À´È·¶¨Ä³¸öÖµÊÇ·ñÊÇÊý£º

ʵÀý

var x = 100 / "Apple";
isNaN(x);               // ·µ»Ø true£¬ÒòΪ x ²»ÊÇÊý

Ç××ÔÊÔÒ»ÊÔ

ҪСÐÄ NaN¡£¼ÙÈçÄúÔÚÊýѧÔËËãÖÐʹÓÃÁË NaN£¬Ôò½á¹ûÒ²½«ÊÇ NaN£º

ʵÀý

var x = NaN;
var y = 5;
var z = x + y;         // z ½«ÊÇ NaN

Ç××ÔÊÔÒ»ÊÔ

½á¹ûÒ²ÐíÊÇ´®Á¬½Ó£º

ʵÀý

var x = NaN;
var y = "5";
var z = x + y;         // z ½«ÊÇ NaN5

Ç××ÔÊÔÒ»ÊÔ

NaN ÊÇÊý£¬typeof NaN ·µ»Ø number£º

ʵÀý

typeof NaN;             // ·µ»Ø "number"

Ç××ÔÊÔÒ»ÊÔ

Infinity

Infinity £¨»ò -Infinity£©ÊÇ JavaScript ÔÚ¼ÆËãÊýʱ³¬³ö×î´ó¿ÉÄÜÊý·¶Î§Ê±·µ»ØµÄÖµ¡£

ʵÀý

var myNumber = 2;

while (myNumber != Infinity) {          // Ö´ÐÐÖ±µ½ Infinity
    myNumber = myNumber * myNumber;
}

Ç××ÔÊÔÒ»ÊÔ

³ýÒÔ 0£¨Á㣩Ҳ»áÉú³É Infinity£º

ʵÀý

var x =  2 / 0;          // x ½«ÊÇ Infinity
var y = -2 / 0;          // y ½«ÊÇ -Infinity

Ç××ÔÊÔÒ»ÊÔ

Infinity ÊÇÊý£ºtypeOf Infinity ·µ»Ø number¡£

ʵÀý

typeof Infinity;        // ·µ»Ø "number"

Ç××ÔÊÔÒ»ÊÔ

Ê®Áù½øÖÆ

JavaScript »á°Ñǰ׺Ϊ 0x µÄÊýÖµ³£Á¿½âÊÍΪʮÁù½øÖÆ¡£

ʵÀý

var x = 0xFF;             // x ½«ÊÇ 255

Ç××ÔÊÔÒ»ÊÔ

¾ø²»ÒªÓÃǰµ¼ÁãдÊý×Ö£¨±ÈÈç 07£©¡£

һЩ JavaScript °æ±¾»á°Ñ´øÓÐǰµ¼ÁãµÄÊý½âÊÍΪ°Ë½øÖÆ¡£

ĬÈϵأ¬Javascript °ÑÊýÏÔʾΪʮ½øÖÆÐ¡Êý¡£

µ«ÊÇÄúÄܹ»Ê¹Óà toString() ·½·¨°ÑÊýÊä³öΪʮÁù½øÖÆ¡¢°Ë½øÖÆ»ò¶þ½øÖÆ¡£

ʵÀý

var myNumber = 128;
myNumber.toString(16);     // ·µ»Ø 80
myNumber.toString(8);      // ·µ»Ø 200
myNumber.toString(2);      // ·µ»Ø 10000000

Ç××ÔÊÔÒ»ÊÔ

ÊýÖµ¿ÉÒÔÊǶÔÏó

ͨ³£ JavaScript ÊýÖµÊÇͨ¹ý×ÖÃæÁ¿´´½¨µÄԭʼֵ£ºvar x = 123

µ«ÊÇÒ²¿ÉÒÔͨ¹ý¹Ø¼ü´Ê new ¶¨ÒåΪ¶ÔÏó£ºvar y = new Number(123)

ʵÀý

var x = 123;
var y = new Number(123);

// typeof x ·µ»Ø number
// typeof y ·µ»Ø object

Ç××ÔÊÔÒ»ÊÔ

Çë²»Òª´´½¨ÊýÖµ¶ÔÏó¡£ÕâÑù»áÍÏÂýÖ´ÐÐËÙ¶È¡£

new ¹Ø¼ü´Êʹ´úÂ븴ÔÓ»¯£¬²¢²úÉúijЩÎÞ·¨Ô¤ÁϵĽá¹û£º

µ±Ê¹Óà == ÏàµÈÔËËã·ûʱ£¬ÏàµÈµÄÊý¿´ÉÏÈ¥ÏàµÈ£º

ʵÀý

var x = 500;             
var y = new Number(500);

// (x == y) Ϊ true£¬ÒòΪ x ºÍ y ÓÐÏàµÈµÄÖµ

Ç××ÔÊÔÒ»ÊÔ

µ±Ê¹Óà === ÏàµÈÔËËã·ûºó£¬ÏàµÈµÄÊý±äΪ²»ÏàµÈ£¬ÒòΪ === ÔËËã·ûÐèÒªÀàÐͺÍֵͬʱÏàµÈ¡£

ʵÀý

var x = 500;             
var y = new Number(500);

// (x === y) Ϊ false£¬ÒòΪ x ºÍ y µÄÀàÐͲ»Í¬

Ç××ÔÊÔÒ»ÊÔ

ÉõÖÁ¸üÔã¡£¶ÔÏóÎÞ·¨½øÐжԱȣº

ʵÀý

var x = new Number(500);             
var y = new Number(500);

// (x == y) Ϊ false£¬ÒòΪ¶ÔÏóÎÞ·¨±È½Ï

Ç××ÔÊÔÒ»ÊÔ

JavaScript ¶ÔÏóÎÞ·¨½øÐбȽϡ£

VUE