diff options
Diffstat (limited to 'files/vi/web/javascript/reference/global_objects/object/tostring/index.html')
-rw-r--r-- | files/vi/web/javascript/reference/global_objects/object/tostring/index.html | 128 |
1 files changed, 0 insertions, 128 deletions
diff --git a/files/vi/web/javascript/reference/global_objects/object/tostring/index.html b/files/vi/web/javascript/reference/global_objects/object/tostring/index.html deleted file mode 100644 index 78a46f1272..0000000000 --- a/files/vi/web/javascript/reference/global_objects/object/tostring/index.html +++ /dev/null @@ -1,128 +0,0 @@ ---- -title: Object.prototype.toString() -slug: Web/JavaScript/Reference/Global_Objects/Object/toString -translation_of: Web/JavaScript/Reference/Global_Objects/Object/toString ---- -<div>{{JSRef}}</div> - -<p>Phương thức <code><strong>toString()</strong></code> trả về một chuỗi đại diện cho object.</p> - -<h2 id="Cú_pháp">Cú pháp</h2> - -<pre class="syntaxbox"><code><var>obj</var>.toString()</code></pre> - -<h3 id="Giá_trị_trả_về">Giá trị trả về</h3> - -<p>Một chuỗi đại diện cho object.</p> - -<h2 id="Miêu_tả">Miêu tả</h2> - -<p>Mỗi object có 1 phương thức <code>toString()</code>. Phương thức này được tự động gọi khi object được biểu diễn dưới dạng text hoặc trong bối cảnh mà một chuỗi được mong đợi để trả về. Mặc định, phương thức <code>toString()</code> được kế thừa cho tất cả object khi tất cả object được kế thừa từ <code>Object</code>. Nếu phương thức này không bị ghi đè bởi một object đã được tuỳ chỉnh, phương thức này trả về "[object <em>type</em>]", trong đó <code><em>type </em></code>là kiểu của object. Phần code theo sau mô tả điều này:</p> - -<pre class="brush: js">var o = new Object(); -o.toString(); // returns [object Object] -</pre> - -<div class="note"> -<p><strong>Note:</strong> Kể từ JavaScript 1.8.5, <code>toString()</code> khi được gọi trong {{jsxref("null")}} sẽ trả về <code>[object <em>Null</em>]</code>, và {{jsxref("undefined")}} sẽ trả về <code>[object <em>Undefined</em>]</code>, như đã được định nghĩa trong 5th Edition of ECMAScript and a subsequent Errata. Tham khảo {{anch("Using_toString()_to_detect_object_class", "Using_toString()_to_detect_object_class")}}.</p> -</div> - -<h2 id="Ví_dụ">Ví dụ</h2> - -<h3 id="Ghi_đè_phương_thức_mặc_định_toString">Ghi đè phương thức mặc định <code>toString</code></h3> - -<p>Bạn có thể tạo một hàm để thay thể phương thức mặc định <code>toString()</code>. Phương thức mặc định <code>toString()</code> không có tham số truyền vào và sẽ trả về một chuỗi. Phương thức <code>toString()</code> bạn tự tạo có thể trả về bất kì giá trị gì bạn muốn, nhưng sẽ tốt hơn nếu nó mang thông tin về object.</p> - -<p>Phần code sau đây định nghĩa kiểu <code>Dog</code> object và tạo ra <code>theDog</code>, một object của kiểu <code>Dog</code>:</p> - -<pre class="brush: js">function Dog(name, breed, color, sex) { - this.name = name; - this.breed = breed; - this.color = color; - this.sex = sex; -} - -theDog = new Dog('Gabby', 'Lab', 'chocolate', 'female'); -</pre> - -<p>Nếu bạn gọi phương thức <code>toString()</code> trên object tuỳ chỉnh này, nó sẽ trả về giá trị mặc định được kế thừa từ {{jsxref("Object")}}:</p> - -<pre class="brush: js">theDog.toString(); // returns [object Object] -</pre> - -<p>Phần code sau đây tạo ra và gán <code>dogToString()</code> để ghi đè lên phương thức mặc định <code>toString()</code>. Hàm này sẽ tạo một chuỗi chứa tên, giống, màu và giới tính của object, theo dạng "<code>property = value;</code>".</p> - -<pre class="brush: js">Dog.prototype.toString = function dogToString() { - var ret = 'Dog ' + this.name + ' is a ' + this.sex + ' ' + this.color + ' ' + this.breed; - return ret; -} -</pre> - -<p>Với phần code ở phía trên, mỗi khi <code>theDog</code> được sử dụng để trả về một chuỗi, JavaScript sẽ tự động gọi hàm <code>dogToString()</code>, trả về kết quả sau:</p> - -<pre class="brush: js">"Dog Gabby is a female chocolate Lab" -</pre> - -<h3 id="Sử_dụng_toString_để_xác_định_lớp_đối_tượng">Sử dụng <code>toString()</code> để xác định lớp đối tượng</h3> - -<p><code>toString()</code> có thể được sử dụng với tất cả object và cho phép bạn xác định lớp của object đó. Để sử dụng <code>Object.prototype.toString()</code> với mọi đối tượng, bạn cần gọi {{jsxref("Function.prototype.call()")}} or {{jsxref("Function.prototype.apply()")}} trên object đó, truyền vào object mà bạn muốn vào tham số đầu tiên hay còn được gọi là <code>thisArg</code>.</p> - -<pre class="brush: js">var toString = Object.prototype.toString; - -toString.call(new Date); // [object Date] -toString.call(new String); // [object String] -toString.call(Math); // [object Math] - -// Since JavaScript 1.8.5 -toString.call(undefined); // [object Undefined] -toString.call(null); // [object Null] -</pre> - -<h2 id="Đặc_tả">Đặc tả</h2> - -<table class="standard-table"> - <tbody> - <tr> - <th scope="col">Specification</th> - <th scope="col">Status</th> - <th scope="col">Comment</th> - </tr> - <tr> - <td>{{SpecName('ES1')}}</td> - <td>{{Spec2('ES1')}}</td> - <td>Initial definition. Implemented in JavaScript 1.0.</td> - </tr> - <tr> - <td>{{SpecName('ES5.1', '#sec-15.2.4.2', 'Object.prototype.toString')}}</td> - <td>{{Spec2('ES5.1')}}</td> - <td>Call on {{jsxref("null")}} returns <code>[object <em>Null</em>]</code>, and {{jsxref("undefined")}} returns <code>[object <em>Undefined</em>]</code></td> - </tr> - <tr> - <td>{{SpecName('ES6', '#sec-object.prototype.tostring', 'Object.prototype.toString')}}</td> - <td>{{Spec2('ES6')}}</td> - <td></td> - </tr> - <tr> - <td>{{SpecName('ESDraft', '#sec-object.prototype.tostring', 'Object.prototype.toString')}}</td> - <td>{{Spec2('ESDraft')}}</td> - <td></td> - </tr> - </tbody> -</table> - -<h2 id="Tính_tương_thích_với_trình_duyệt">Tính tương thích với trình duyệt</h2> - -<div> - - -<p>{{Compat("javascript.builtins.Object.toString")}}</p> -</div> - -<h2 id="Tham_khảo_thêm">Tham khảo thêm</h2> - -<ul> - <li>{{jsxref("Object.prototype.toSource()")}}</li> - <li>{{jsxref("Object.prototype.valueOf()")}}</li> - <li>{{jsxref("Number.prototype.toString()")}}</li> - <li>{{jsxref("Symbol.toPrimitive")}}</li> -</ul> |