diff options
Diffstat (limited to 'files/vi/web/javascript/reference/global_objects/nan/index.html')
| -rw-r--r-- | files/vi/web/javascript/reference/global_objects/nan/index.html | 97 |
1 files changed, 97 insertions, 0 deletions
diff --git a/files/vi/web/javascript/reference/global_objects/nan/index.html b/files/vi/web/javascript/reference/global_objects/nan/index.html new file mode 100644 index 0000000000..cf7be92a59 --- /dev/null +++ b/files/vi/web/javascript/reference/global_objects/nan/index.html @@ -0,0 +1,97 @@ +--- +title: NaN +slug: Web/JavaScript/Reference/Global_Objects/NaN +tags: + - JavaScript + - Tham khảo + - Thuộc tính +translation_of: Web/JavaScript/Reference/Global_Objects/NaN +--- +<div>{{jsSidebar("Objects")}}</div> + +<p>Thuộc tính <em>global</em> <code><strong>NaN</strong></code> có giá trị đại diện cho khái niệm Not-A-Number (Không-phải-Số).</p> + +<p>{{js_property_attributes(0,0,0)}}</p> + +<div>{{EmbedInteractiveExample("pages/js/globalprops-nan.html")}}</div> + + + +<h2 id="Cú_pháp">Cú pháp</h2> + +<pre class="syntaxbox"><code>NaN</code></pre> + +<h2 id="Mô_tả">Mô tả</h2> + +<p><code>NaN</code> là thuộc tính của đối tượng <em>global</em>.</p> + +<p>Giá trị khởi tạo của <code>NaN</code> là Not-A-Number — giống như giá trị của {{jsxref("Number.NaN")}}. Với các trình duyệt hiện đại, <code>NaN</code> không thể cấu hình được, không có thuộc tính được-viết. Kể cả khi được phép thì vẫn phải tránh việc ghi đè lên nó.</p> + +<p>Người ta hiếm khi dùng <code>NaN</code> trong viết chương trình. Nó được dùng làm giá trị trả về khi việc tính toán của các hàm {{jsxref("Math")}} thất bại (<code>Math.sqrt(-1)</code>) hoặc khi hàm phân tích phải dữ liệu số sai (<code>parseInt("là lá la")</code>).</p> + +<h3 id="Kiểm_thử_phép_so_sánh_NaN">Kiểm thử phép so sánh <code>NaN</code></h3> + +<p>Không thể thực hiện phép so sánh bằng (thông qua <code>==</code>, <code>!=</code>, <code>===</code>, và <code>!==</code>) <code>NaN</code> với bất kỳ giá trị nào khác, bao gồm cả một giá trị <code>NaN</code> khác. Hãy dùng {{jsxref("Number.isNaN()")}} hoặc {{jsxref("Global_Objects/isNaN", "isNaN()")}} để xác định rõ ràng đó có phải là <code>NaN</code> hay không. Hoặc làm thử một phép so sánh bản thân: <code>NaN</code>, và chỉ <code>NaN</code>, sẽ so sánh không cân bằng với chính nó.</p> + +<pre class="brush: js">NaN === NaN; // false (sai) +Number.NaN === NaN; // false +isNaN(NaN); // true (đúng) +isNaN(Number.NaN); // true + +function valueIsNaN(v) { return v !== v; } +valueIsNaN(1); // false +valueIsNaN(NaN); // true +valueIsNaN(Number.NaN); // true +</pre> + +<p>Tuy nhiên, lưu ý rằng có khác biệt giữa <code>isNaN()</code> và <code>Number.isNaN()</code>: <code>isNaN()</code> sẽ trả về giá trị <code>true</code> (đúng) nếu như giá trị hiện tại là <code>NaN</code> hoặc nó sẽ thành <code>NaN</code> sau khi bị ép số hóa dữ liệu, còn với <code>Number.isNaN()</code> thì dữ liệu trả về là <code>true</code> chỉ khi giá trị hiện tại là <code>NaN</code>.</p> + +<pre class="brush: js">isNaN('hello world'); // trả về giá trị 'true'. +Number.isNaN('hello world'); // trả về giá trị 'false'. +</pre> + +<h2 id="Thông_số_kỹ_thuật">Thông số kỹ thuật</h2> + +<table class="standard-table"> + <tbody> + <tr> + <th scope="col">Thông số kỹ thuật</th> + <th scope="col">Trạng thái</th> + <th scope="col">Chú thích</th> + </tr> + <tr> + <td>{{SpecName('ES1')}}</td> + <td>{{Spec2('ES1')}}</td> + <td>Định nghĩa đầu tiên. Được đưa vào JavaScript 1.3</td> + </tr> + <tr> + <td>{{SpecName('ES5.1', '#sec-15.1.1.1', 'NaN')}}</td> + <td>{{Spec2('ES5.1')}}</td> + <td> </td> + </tr> + <tr> + <td>{{SpecName('ES6', '#sec-value-properties-of-the-global-object-nan', 'NaN')}}</td> + <td>{{Spec2('ES6')}}</td> + <td> </td> + </tr> + <tr> + <td>{{SpecName('ESDraft', '#sec-value-properties-of-the-global-object-nan', 'NaN')}}</td> + <td>{{Spec2('ESDraft')}}</td> + <td> </td> + </tr> + </tbody> +</table> + +<h2 id="Tính_tương_thích_trên_trình_duyệt">Tính tương thích trên trình duyệt</h2> + + + +<p>{{Compat("javascript.builtins.NaN")}}</p> + +<h2 id="Xem_thêm">Xem thêm</h2> + +<ul> + <li>{{jsxref("Number.NaN")}}</li> + <li>{{jsxref("Number.isNaN()")}}</li> + <li>{{jsxref("isNaN", "isNaN()")}}</li> +</ul> |
