aboutsummaryrefslogtreecommitdiff
path: root/files/vi/web/javascript/reference/global_objects/arraybuffer
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/global_objects/arraybuffer
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/global_objects/arraybuffer')
-rw-r--r--files/vi/web/javascript/reference/global_objects/arraybuffer/index.html141
1 files changed, 141 insertions, 0 deletions
diff --git a/files/vi/web/javascript/reference/global_objects/arraybuffer/index.html b/files/vi/web/javascript/reference/global_objects/arraybuffer/index.html
new file mode 100644
index 0000000000..1cf512233b
--- /dev/null
+++ b/files/vi/web/javascript/reference/global_objects/arraybuffer/index.html
@@ -0,0 +1,141 @@
+---
+title: ArrayBuffer
+slug: Web/JavaScript/Reference/Global_Objects/ArrayBuffer
+translation_of: Web/JavaScript/Reference/Global_Objects/ArrayBuffer
+---
+<div>{{JSRef}}</div>
+
+<div>Đối tượng <strong><code>ArrayBuffer</code></strong> được sử dụng để biểu diễn một bộ đệm dữ liệu nhị phân nguyên gốc có độ dài cố định. Ta không thể trực tiếp thay đổi nội dung của một <code>ArrayBuffer</code>; mà thay vào đó là tạo ra một <a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray">typed array objects</a> hoặc một đối tượng {{jsxref("DataView")}} đại diện cho bộ đệm với một định dạng cụ thể, và sử dụng nó để đọc và ghi nội dung của bộ đệm.</div>
+
+<div> </div>
+
+<div>{{EmbedInteractiveExample("pages/js/arraybuffer-constructor.html")}}</div>
+
+
+
+<h2 id="Cú_pháp">Cú pháp</h2>
+
+<pre class="syntaxbox">new ArrayBuffer(length)
+</pre>
+
+<h3 id="Tham_số">Tham số</h3>
+
+<dl>
+ <dt><code>length</code></dt>
+ <dd>Kích thước tính theo bytes của bộ đệm mảng cần tạo</dd>
+</dl>
+
+<h3 id="Giá_trị_trả_về">Giá trị trả về</h3>
+
+<p><code><font face="Verdana, arial, x-locale-body, sans-serif"><span style="background-color: #ffffff;">Là một </span></font>ArrayBuffer</code> mới có kích thước được chỉ định. Nội dung khởi tạo là 0.</p>
+
+<h3 id="Ngoại_lệ">Ngoại lệ</h3>
+
+<p>Lỗi {{jsxref("RangeError")}} sẽ được đưa ra nếu <code>length</code> lớn hơn  {{jsxref("Number.MAX_SAFE_INTEGER")}} (&gt;= 2 ** 53) hoặc mang giá trị âm.</p>
+
+<h2 id="Mô_tả">Mô tả</h2>
+
+<p>Hàm dựng <code>ArrayBuffer</code> tạo ra một  <code>ArrayBuffer</code>  dựa trên chiều dài đã cho tính theo byte</p>
+
+<h3 id="Lấy_một_mảng_đệm_từ_dữ_liệu_hiện_có">Lấy một mảng đệm từ dữ liệu hiện có</h3>
+
+<ul>
+ <li><a href="/en-US/docs/Web/API/WindowBase64/Base64_encoding_and_decoding#Appendix.3A_Decode_a_Base64_string_to_Uint8Array_or_ArrayBuffer">From a Base64 string</a></li>
+ <li><a href="/en-US/docs/Web/API/FileReader#readAsArrayBuffer()">From a local file</a></li>
+</ul>
+
+<h2 id="Thuộc_tính">Thuộc tính</h2>
+
+<dl>
+ <dt><code>ArrayBuffer.length</code></dt>
+ <dd>Thuộc tính chiều dài của hàm dựng của <code>ArrayBuffer</code> có giá trị là 1.</dd>
+ <dt>{{jsxref("ArrayBuffer.@@species", "get ArrayBuffer[@@species]")}}</dt>
+ <dd>Hàm dựng để tạo ra các đối tượng kế thừa</dd>
+ <dt>{{jsxref("ArrayBuffer.prototype")}}</dt>
+ <dd>Cho phép bổ sung các thuộc tính cho tất cả các đối tượng <code>ArrayBuffer</code> .</dd>
+</dl>
+
+<h2 id="Phương_thức">Phương thức</h2>
+
+<dl>
+ <dt>{{jsxref("ArrayBuffer.isView", "ArrayBuffer.isView(arg)")}}</dt>
+ <dd>Trả về <code>true</code> nếu tham số <code>arg</code> là một trong các views của ArrayBuffer, ví dụ như <a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray">typed array objects</a> hoặc {{jsxref("DataView")}}. Trả về <code>false</code> trong trường hợp ngược lại.</dd>
+ <dt>{{jsxref("ArrayBuffer.transfer", "ArrayBuffer.transfer(oldBuffer [, newByteLength])")}} {{experimental_inline}}</dt>
+ <dd>
+ <div class="line" id="file-arraybuffer-transfer-LC6">Trả về một <code>ArrayBuffer</code> nội dung lấy từ dữ liệu của <code>oldBuffer</code> và sau đó được cắt bớt hoặc không mở rộng thông qua <code>newByteLength</code>.</div>
+ </dd>
+</dl>
+
+<h2 id="Thực_thể">Thực thể</h2>
+
+<p>Tất cả các thực thể của  <code>ArrayBuffer</code> đều kế thừa từ {{jsxref("ArrayBuffer.prototype")}}.</p>
+
+<h3 id="Thuộc_tính_2">Thuộc tính</h3>
+
+<p>{{page('en-US/Web/JavaScript/Reference/Global_Objects/ArrayBuffer/prototype','Properties')}}</p>
+
+<h3 id="Phương_thức_2">Phương thức</h3>
+
+<p>{{page('en-US/Web/JavaScript/Reference/Global_Objects/ArrayBuffer/prototype','Methods')}}</p>
+
+<dl>
+ <dt>{{jsxref("ArrayBuffer.slice()")}} {{non-standard_inline}}</dt>
+ <dd>Cùng chức năng như {{jsxref("ArrayBuffer.prototype.slice()")}}.</dd>
+</dl>
+
+<h2 id="Ví_dụ">Ví dụ</h2>
+
+<p>Ví dụu sau tạo ra một vùng đệm 8 byte với view của {{jsxref("Global_Objects/Int32Array", "Int32Array")}} ?trỏ đến bộ đệm</p>
+
+<pre class="brush: js">var buffer = new ArrayBuffer(8);
+var view = new Int32Array(buffer);</pre>
+
+<h2 id="Đặc_tả">Đặc tả</h2>
+
+<table class="standard-table">
+ <tbody>
+ <tr>
+ <th scope="col">Đặc tả</th>
+ <th scope="col">Trạng thái</th>
+ <th scope="col">Ghi chú</th>
+ </tr>
+ <tr>
+ <td>{{SpecName('Typed Array')}}</td>
+ <td>{{Spec2('Typed Array')}}</td>
+ <td>?Thay thế bởi ECMAScript 6.</td>
+ </tr>
+ <tr>
+ <td>{{SpecName('ES6', '#sec-arraybuffer-constructor', 'ArrayBuffer')}}</td>
+ <td>{{Spec2('ES6')}}</td>
+ <td>Initial definition in an ECMA standard. Specified that <code>new</code> is required.</td>
+ </tr>
+ <tr>
+ <td>{{SpecName('ESDraft', '#sec-arraybuffer-constructor', 'ArrayBuffer')}}</td>
+ <td>{{Spec2('ESDraft')}}</td>
+ <td> </td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Trình_duyệt_tương_thích">Trình duyệt tương thích</h2>
+
+
+
+<p>{{Compat("javascript.builtins.ArrayBuffer")}}</p>
+
+<h2 id="Ghi_chú_thêm_về_tính_tương_thích">Ghi chú thêm về tính tương thích</h2>
+
+<p>Với ECMAScript 2015, hàm dựng <code>ArrayBuffer</code> cần được khởi tạo với {{jsxref("Operators/new", "new")}}. Việc gọi một hàm dựng <code>ArrayBuffer</code> nhưng một hàm thông thường không có toán tử <code>new</code> sẽ gây ra lỗi {{jsxref("TypeError")}}.</p>
+
+<pre class="brush: js example-bad">var dv = ArrayBuffer(10);
+// TypeError: calling a builtin ArrayBuffer constructor
+// without new is forbidden</pre>
+
+<pre class="brush: js example-good">var dv = new ArrayBuffer(10);</pre>
+
+<h2 id="Tham_khảo_thêm">Tham khảo thêm</h2>
+
+<ul>
+ <li><a href="/en-US/docs/Web/JavaScript/Typed_arrays">JavaScript typed arrays</a></li>
+ <li>{{jsxref("SharedArrayBuffer")}}</li>
+</ul>