aboutsummaryrefslogtreecommitdiff
path: root/files/vi/web/javascript/reference/errors
diff options
context:
space:
mode:
authorPeter Bengtsson <mail@peterbe.com>2020-12-08 14:43:23 -0500
committerPeter Bengtsson <mail@peterbe.com>2020-12-08 14:43:23 -0500
commit218934fa2ed1c702a6d3923d2aa2cc6b43c48684 (patch)
treea9ef8ac1e1b8fe4207b6d64d3841bfb8990b6fd0 /files/vi/web/javascript/reference/errors
parent074785cea106179cb3305637055ab0a009ca74f2 (diff)
downloadtranslated-content-218934fa2ed1c702a6d3923d2aa2cc6b43c48684.tar.gz
translated-content-218934fa2ed1c702a6d3923d2aa2cc6b43c48684.tar.bz2
translated-content-218934fa2ed1c702a6d3923d2aa2cc6b43c48684.zip
initial commit
Diffstat (limited to 'files/vi/web/javascript/reference/errors')
-rw-r--r--files/vi/web/javascript/reference/errors/index.html31
-rw-r--r--files/vi/web/javascript/reference/errors/missing_semicolon_before_statement/index.html67
-rw-r--r--files/vi/web/javascript/reference/errors/more_arguments_needed/index.html45
-rw-r--r--files/vi/web/javascript/reference/errors/not_a_function/index.html84
-rw-r--r--files/vi/web/javascript/reference/errors/qua_nhieu_de_quy/index.html54
5 files changed, 281 insertions, 0 deletions
diff --git a/files/vi/web/javascript/reference/errors/index.html b/files/vi/web/javascript/reference/errors/index.html
new file mode 100644
index 0000000000..c295fccea6
--- /dev/null
+++ b/files/vi/web/javascript/reference/errors/index.html
@@ -0,0 +1,31 @@
+---
+title: JavaScript error reference
+slug: Web/JavaScript/Reference/Errors
+tags:
+ - Debugging
+ - Error
+ - Errors
+ - Exception
+ - JavaScript
+ - NeedsTranslation
+ - TopicStub
+ - exceptions
+translation_of: Web/JavaScript/Reference/Errors
+---
+<p>{{jsSidebar("Errors")}}</p>
+
+<p>Below, you'll find a list of errors which are thrown by JavaScript. These errors can be a helpful debugging aid, but the reported problem isn't always immediately clear. The pages below will provide additional details about these errors. Each error is an object based upon the {{jsxref("Error")}} object, and has a <code>name</code> and a <code>message</code>.</p>
+
+<p>Errors displayed in the Web console may include a link to the corresponding page below to help you quickly comprehend the problem in your code.</p>
+
+<h2 id="List_of_errors">List of errors</h2>
+
+<p>In this list, each page is listed by name (the type of error) and message (a more detailed human-readable error message). Together, these two properties provide a starting point toward understanding and resolving the error. For more information, follow the links below!</p>
+
+<p>{{ListSubPages("/en-US/docs/Web/JavaScript/Reference/Errors")}}</p>
+
+<h2 id="See_also">See also</h2>
+
+<ul>
+ <li><a href="/en-US/docs/Learn/JavaScript/First_steps/What_went_wrong">What went wrong? Troubleshooting JavaScript</a>: Beginner's introductory tutorial on fixing JavaScript errors.</li>
+</ul>
diff --git a/files/vi/web/javascript/reference/errors/missing_semicolon_before_statement/index.html b/files/vi/web/javascript/reference/errors/missing_semicolon_before_statement/index.html
new file mode 100644
index 0000000000..2e5e606618
--- /dev/null
+++ b/files/vi/web/javascript/reference/errors/missing_semicolon_before_statement/index.html
@@ -0,0 +1,67 @@
+---
+title: 'Lỗi cú pháp: Thiếu dấu ; trước câu lệnh'
+slug: Web/JavaScript/Reference/Errors/Missing_semicolon_before_statement
+tags:
+ - JavaScript
+ - Lỗi
+ - Lỗi cú pháp
+translation_of: Web/JavaScript/Reference/Errors/Missing_semicolon_before_statement
+---
+<div>{{jsSidebar("Errors")}}</div>
+
+<h2 id="Thông_điệp">Thông điệp</h2>
+
+<pre class="syntaxbox">SyntaxError: missing ; before statement
+</pre>
+
+<h2 id="Kiểu_lỗi">Kiểu lỗi</h2>
+
+<p>{{jsxref("Lỗi cú pháp")}}.</p>
+
+<h2 id="Sai_ở_đâu">Sai ở đâu?</h2>
+
+<p>Bạn đang thiếu dấu (<code>;</code>) ở đâu đó. <a href="/en-US/docs/Web/JavaScript/Reference/Statements">Câu lệnh JavaScript</a> phải được kết thúc bằng một dấu "chấm phẩy". Một vài trong số đó được thêm tự động bởi tính năng <a href="/en-US/docs/Web/JavaScript/Reference/Lexical_grammar#Automatic_semicolon_insertion">automatic semicolon insertion (ASI)</a>, nhưng trong tình huống này bạn cần thêm thủ công để JavaScript có thể hiểu câu lệnh của bạn chính xác.</p>
+
+<p>Tuy nhiên, thi thoảng lỗi này lại là kết quả của một vài lỗi khác, ví dụ như không kết thúc chuỗi ký tự một cách chính xác, hoặc sử dụng từ khoá <code>var</code> không đúng. Cũng có thể bạn đã thêm quá nhiều dấu ngoặc tròn ở đâu đó. Nếu bạn nhìn thấy lỗi này, trước hết hãy kiểm tra cẩn thận các lỗi cú pháp.</p>
+
+<h2 id="Ví_dụ">Ví dụ</h2>
+
+<h3 id="Không_kết_thúc_chuỗi">Không kết thúc chuỗi</h3>
+
+<p>Lỗi này có thể xảy ra khi bạn quên kết thúc chuỗi, còn JavaScrip thì đang mong đợi điều ấy:</p>
+
+<pre class="brush: js example-bad">var foo = 'Tom's bar';
+// SyntaxError: missing ; before statement</pre>
+
+<p>Bạn có thể sử dụng dấu nháy kép hoặc sử dụng dấu  \ cho những ký tự đặc biệt thế này:</p>
+
+<pre class="brush: js example-good">var foo = "Tom's bar";
+var foo = 'Tom\'s bar';
+</pre>
+
+<h3 id="Khai_báo_thuộc_tính_với_từ_khoá_var">Khai báo thuộc tính với từ khoá var</h3>
+
+<p>Bạn <strong>KHÔNG THỂ </strong>khai báo thuộc tính của một đối tượng hoặc một mảng bằng từ khoá <strong>var</strong>:</p>
+
+<pre class="brush: js example-bad">var obj = {};
+var obj.foo = 'hi'; // SyntaxError missing ; before statement
+
+var array = [];
+var array[0] = 'there'; // SyntaxError missing ; before statement
+</pre>
+
+<p>Thay vào đó, hãy cứ bỏ qua từ khoá <strong>var</strong> như thế này:</p>
+
+<pre class="brush: js example-good">var obj = {};
+obj.foo = 'hi';
+
+var array = [];
+array[0] = 'there';
+</pre>
+
+<h2 id="Xem_thêm">Xem thêm:</h2>
+
+<ul>
+ <li><a href="/en-US/docs/Web/JavaScript/Reference/Lexical_grammar#Automatic_semicolon_insertion">Automatic semicolon insertion (ASI)</a></li>
+ <li><a href="/en-US/docs/Web/JavaScript/Reference/Statements">JavaScript statements</a></li>
+</ul>
diff --git a/files/vi/web/javascript/reference/errors/more_arguments_needed/index.html b/files/vi/web/javascript/reference/errors/more_arguments_needed/index.html
new file mode 100644
index 0000000000..4cf87a8b6d
--- /dev/null
+++ b/files/vi/web/javascript/reference/errors/more_arguments_needed/index.html
@@ -0,0 +1,45 @@
+---
+title: 'TypeError: More arguments needed'
+slug: Web/JavaScript/Reference/Errors/More_arguments_needed
+translation_of: Web/JavaScript/Reference/Errors/More_arguments_needed
+---
+<div>{{jsSidebar("Errors")}}</div>
+
+<h2 id="Message">Message</h2>
+
+<pre class="syntaxbox">TypeError: tham số không phải là một đối tượng và không phải là null (Edge)
+TypeError: Object.create requires cần ít nhất 1 tham số, nhưng chỉ có 0 được thông qua
+TypeError: Object.setPrototypeOf requires cần ít nhất 2 tham số nhưng chỉ có 0 được thông qua
+TypeError: Object.defineProperties requires cần ít nhất một tham số, nhưng chỉ có 0 được thông qua
+</pre>
+
+<h2 id="Loại_lỗi">Loại lỗi</h2>
+
+<p>{{jsxref("Lỗi")}}.</p>
+
+<h2 id="Chuyện_gì_đã_xảy_ra">Chuyện gì đã xảy ra?</h2>
+
+<p>Đã có một lỗi với hàm được gọi. Cần cung cấp nhiều tham số hơn</p>
+
+<h2 id="VÍ_dụ">VÍ dụ</h2>
+
+<p>Phương thức {{jsxref("Object.create()")}} cần ít nhất 1 tham số và phương thức {{jsxref("Object.setPrototypeOf()")}} cần ít nhất 2 tham số:</p>
+
+<pre class="brush: js example-bad">var obj = Object.create();
+// TypeError: Object.create requires cần ít nhất là 1 tham số, nhưng chỉ có 0 được thông qua
+
+var obj = Object.setPrototypeOf({});
+// TypeError: Object.setPrototypeOf requires cần ít nhât 2 tham số, nhưng chỉ có 1 được thông qua
+</pre>
+
+<p>Bạn có thể khắc phục bằng cách đặt {{jsxref("null")}} về nguyên mẫu, ví dụ:</p>
+
+<pre class="brush: js example-good">var obj = Object.create(null);
+
+var obj = Object.setPrototypeOf({}, null);</pre>
+
+<h2 id="Xem_thêm">Xem thêm</h2>
+
+<ul>
+ <li><a href="/en-US/docs/Web/JavaScript/Guide/Functions">Functions</a></li>
+</ul>
diff --git a/files/vi/web/javascript/reference/errors/not_a_function/index.html b/files/vi/web/javascript/reference/errors/not_a_function/index.html
new file mode 100644
index 0000000000..a267a8bc74
--- /dev/null
+++ b/files/vi/web/javascript/reference/errors/not_a_function/index.html
@@ -0,0 +1,84 @@
+---
+title: 'TypeError: "x" is not a function'
+slug: Web/JavaScript/Reference/Errors/Not_a_function
+tags:
+ - JavaScript
+ - Lỗi
+ - Lỗi đánh máy
+translation_of: Web/JavaScript/Reference/Errors/Not_a_function
+---
+<div>{{jsSidebar("Errors")}}</div>
+
+<h2 id="Message">Message</h2>
+
+<pre class="syntaxbox">TypeError: "x" is not a function
+</pre>
+
+<h2 id="Thể_loại_sai">Thể loại sai:</h2>
+
+<p>{{jsxref("TypeError")}}.</p>
+
+<h2 id="Chuyện_gì_đã_xảy_ra">Chuyện gì đã xảy ra?</h2>
+
+<p>Dự định gọi 1 giá trị như 1 chức năng, nhưng giá trị đó không thật sự là 1 chức năng. Một số đoạn mã chờ bạn cung cấp 1 chức năng, nhưng điều đó không xảy ra.</p>
+
+<p>Có lẽ là do bạn đánh sai tên chức năng chăng? Có lẽ object mà bạn định gọi method cho không có chức năng này? Ví dụ như những object của Javascript không có chức năng map, nhưng object của Javascript xâu (Array) thì có.</p>
+
+<p>Có rất nhiều chức năng có sẵn khi cần dùng lại 1 chức năng. Bạn sẽ phải cung cấp 1 chức năng để những method này hoạt động 1 cách chính xác.</p>
+
+<ul>
+ <li>Khi sử dụng những object {{jsxref("Array")}} hoặc {{jsxref("TypedArray")}}:
+ <ul>
+ <li>{{jsxref("Array.prototype.every()")}}, {{jsxref("Array.prototype.some()")}}, {{jsxref("Array.prototype.forEach()")}}, {{jsxref("Array.prototype.map()")}}, {{jsxref("Array.prototype.filter()")}},  {{jsxref("Array.prototype.reduce()")}}, {{jsxref("Array.prototype.reduceRight()")}}, {{jsxref("Array.prototype.find()")}}</li>
+ </ul>
+ </li>
+ <li>Khi sử dụng những object {{jsxref("Map")}} và {{jsxref("Set")}} :
+ <ul>
+ <li>{{jsxref("Map.prototype.forEach()")}} and {{jsxref("Set.prototype.forEach()")}}</li>
+ </ul>
+ </li>
+</ul>
+
+<h2 id="Ví_dụ">Ví dụ</h2>
+
+<h3 id="Lỗi_đánh_máy_trong_tên_chức_năng">Lỗi đánh máy trong tên chức năng</h3>
+
+<p>Trong trường hợp này, xảy ra rất thường xuyên, có 1 lỗi đánh máy trong tên method:</p>
+
+<pre class="brush: js example-bad">var x = document.getElementByID('foo');
+// TypeError: document.getElementByID is not a function
+</pre>
+
+<p>Tên đúng là <code>getElementByI<strong>d</strong></code>:</p>
+
+<pre class="brush: js example-good">var x = document.getElementById('foo');
+</pre>
+
+<h3 id="Chức_năng_bị_gọi_sai_trên_object">Chức năng bị gọi sai trên object</h3>
+
+<p>Đối với 1 số method nhất định, bạn phải cung cấp 1 chức năng (để gọi trở lại) và nó sẽ hoạt động trên những object nhất định đó thôi. Ví dụ khi {{jsxref("Array.prototype.map()")}} được sử dụng, thì sẽ chỉ chạy với object {{jsxref("Array")}} này mà thôi.</p>
+
+<pre class="brush: js example-bad">var obj = {a: 13, b: 37, c: 42};
+
+obj.map(function(num) {
+ return num * 2;
+});
+
+// TypeError: obj.map is not a function</pre>
+
+<p>Thay vào đó, sử dụng 1 xâu:</p>
+
+<pre class="brush: js example-good">var numbers = [1, 4, 9];
+
+numbers.map(function(num) {
+ return num * 2;
+});
+
+// Array [2, 8, 18]
+</pre>
+
+<h2 id="Liên_kết">Liên kết:</h2>
+
+<ul>
+ <li><a href="/en-US/docs/Web/JavaScript/Reference/Functions">Functions</a></li>
+</ul>
diff --git a/files/vi/web/javascript/reference/errors/qua_nhieu_de_quy/index.html b/files/vi/web/javascript/reference/errors/qua_nhieu_de_quy/index.html
new file mode 100644
index 0000000000..a4851c4f56
--- /dev/null
+++ b/files/vi/web/javascript/reference/errors/qua_nhieu_de_quy/index.html
@@ -0,0 +1,54 @@
+---
+title: 'InternalError: Quá nhiều đệ quy'
+slug: Web/JavaScript/Reference/Errors/qua_nhieu_de_quy
+tags:
+ - JavaScript
+ - Lỗi
+ - Lỗi bên trong
+translation_of: Web/JavaScript/Reference/Errors/Too_much_recursion
+---
+<div>{{jsSidebar("Errors")}}</div>
+
+<h2 id="Thông_điệp">Thông điệp</h2>
+
+<pre class="syntaxbox">InternalError: too much recursion
+</pre>
+
+<h2 id="Loại_lỗi">Loại lỗi</h2>
+
+<p>{{jsxref("InternalError")}}.</p>
+
+<h2 id="Lỗi_phát_sinh_ra_khi_nào">Lỗi phát sinh ra khi nào?</h2>
+
+<p>Một hàm gọi chính nó được gọi là hàm đệ quy . Trong một số trường hợp, đệ quy tương tự như một vòng lặp. Cả hai đều thực hiện cùng một mã nhiều lần, Và cả hai đều yêu cầu một điều kiện ( Để tránh một vòng lặp vô hạn, hoặc đúng hơn, đệ quy vô hạn trong trường hợp này ). <span class="seoSummary"> Khi có quá nhiều hoặc vô hạn đệ quy, JavaScript sẽ ném lỗi này.</span></p>
+
+<h2 id="Ví_dụ">Ví dụ</h2>
+
+<p>Chức năng đệ quy này chạy 10 lần, theo điều kiện x &gt;= 10 .</p>
+
+<pre class="brush: js">function loop(x) {
+ if (x &gt;= 10) // "x &gt;= 10" là điều kiện dừng
+ return;
+ // do stuff
+ loop(x + 1); // gọi lại chính nó (đệ quy)
+}
+loop(0);</pre>
+
+<p>Đặt điều kiện này lên một giá trị rất cao, sẽ không hoạt động:</p>
+
+<pre class="brush: js example-bad">function loop(x) {
+ if (x &gt;= 1000000000000)
+ return;
+ // do stuff
+ loop(x + 1);
+}
+loop(0);
+
+// InternalError: too much recursion</pre>
+
+<h2 id="Xem_thêm">Xem thêm</h2>
+
+<ul>
+ <li>{{Glossary("Recursion")}}</li>
+ <li><a href="/en-US/docs/Web/JavaScript/Guide/Functions#Recursion">Recursive functions</a></li>
+</ul>