اكتشف ما هي المصفوفات المكتوبة وكيفية استخدامها
JavaScript Provides 8 صفيف مكتوبالأنواع:
Int8Array
مجموعة من الأعداد الصحيحة الموقعة 8 بتInt16Array
مصفوفة من الأعداد الصحيحة الموقعة ذات 16 بتInt32Array
مجموعة من الأعداد الصحيحة الموقعة 32 بتUint8Array
مجموعة من 8 بت أعداد صحيحةUint16Array
مصفوفة من الأعداد الصحيحة بدون إشارة 16 بتUint32Array
صفيف من الأعداد الصحيحة بدون إشارة 32 بتFloat32Array
صفيف من أرقام الفاصلة العائمة 32 بتFloat64Array
صفيف من أرقام الفاصلة العائمة 64 بت
كل منهمArrayBufferView
حالات.
المصفوفة المطبوعة هي في الأساس طريقة عرض في ملفArrayBuffer
، حيث يكون لكل عنصر نفس الحجم والنوع.
DataView
هي طريقة عرض أخرى في ArrayBuffer ، ولكن في هذه الحالة يمكن أن يكون للعناصر الموجودة في المصفوفة أحجام وأنواع مختلفة.
فيما يلي مثال على كيفية إنشاء مصفوفة من الأعداد الصحيحة الموقعة 8 بت:
const a = new Int8Array()
يمكنك تخصيص عدد n بايت مسبقًا:
const bytes = 1024
const a = new Int8Array(bytes)
الاستخدام الرئيسي هو السماح بالنظر إلى ArrayBuffer ، والذي يكون معتمًا بمفرده (لا يمكننا فحص محتواه).
إليك كيف نفعل ذلك:
//we got this `buffer` ArrayBuffer
const a = new Int8Array(buffer)
هذه المصفوفات المكتوبة تشبه المصفوفات ، لذا يمكننا الآن فحص محتوى المخزن المؤقت عبر تقنيات الوصول إلى المصفوفة المعتادة ، ولدينا إمكانية الوصول إلى الكثير من الأساليب والخصائص بما في ذلكmap()
وreduce()
وهكذا.
حالة الاستخدام الرئيسية للصفائف المكتوبة هي استخدامها معWebGLوصوت الويبأو القماش API. تتوقع بعض وظائف WebGL المصفوفات المكتوبة ، لأنها أكثر أداءً من مصفوفات JavaScript العادية.
هناك شيء واحد يجب مراعاته وهو أن المصفوفات المكتوبة لا تسمح لنا بالتحكم في ملفالانتماء:يستخدم ترتيب البايت للنظام الأساسي. بشكل عام ، يعمل هذا بشكل جيد ، لأن حالة الاستخدام الرئيسية كما قلنا هي استخدام المصفوفة محليًا ، باستخدام إحدى واجهات برمجة تطبيقات الوسائط المتعددة. أيضًا ، تستخدم معظم أجهزة الكمبيوتر الاستهلاكية القليل من endian نظرًا لأن Intel تستخدم هذه الاتفاقية. ولكن ، إذا قمت بنقل بيانات مصفوفة مكتوبة على نظام يستخدم Endian كبير ، فقد تكون البيانات مشفرة بشكل سيئ وبالتالي تصبح غير صالحة.
إذا كنت بحاجة إلى هذا النوع من السيطرة على endianness ، استخدمعرض البياناتبدلا من.
تحميل مجانيدليل جافا سكريبت للمبتدئين
المزيد من دروس المتصفح:
- تتوفر بعض الحيل المفيدة في HTML5
- كيف أنشأت موقع ويب يستند إلى CMS يعمل دون اتصال بالإنترنت
- الدليل الكامل لتطبيقات الويب التقدمية
- واجهة برمجة تطبيقات الجلب
- دليل Push API
- واجهة برمجة تطبيقات Channel Messaging
- دروس عمال الخدمة
- دليل ذاكرة التخزين المؤقت API
- دليل API الإخطار
- الغوص في IndexedDB
- واجهة برمجة تطبيقات المحددات: querySelector و querySelectorAll
- تحميل JavaScript بكفاءة مع التأجيل وغير المتزامن
- نموذج كائن المستند (DOM)
- واجهة برمجة تطبيقات Web Storage: التخزين المحلي وتخزين الجلسة
- تعرف على كيفية عمل ملفات تعريف الارتباط HTTP
- واجهة برمجة تطبيقات التاريخ
- تنسيق صورة WebP
- طلب XMLHttpRequest (XHR)
- برنامج تعليمي متعمق SVG
- ما هي عناوين URL للبيانات
- خارطة الطريق لتعلم منصة الويب
- CORS ، تقاسم الموارد عبر الأصول
- عمال الويب
- دليل requestAnimationFrame ()
- ما هو النوع
- العمل مع DevTools Console وواجهة برمجة تطبيقات وحدة التحكم
- واجهة برمجة تطبيقات تركيب الكلام
- كيفية انتظار حدث جاهز لـ DOM في JavaScript عادي
- كيفية إضافة فئة إلى عنصر DOM
- كيفية تكرار عناصر DOM من querySelectorAll
- كيفية إزالة فئة من عنصر DOM
- كيفية التحقق من وجود فئة لعنصر DOM
- كيفية تغيير قيمة عقدة DOM
- كيفية إضافة حدث نقرة إلى قائمة عناصر DOM التي تم إرجاعها من querySelectorAll
- WebRTC ، واجهة برمجة تطبيقات الويب في الوقت الفعلي
- كيفية الحصول على موضع التمرير لعنصر في JavaScript
- كيفية استبدال عنصر DOM
- كيفية قبول الصور فقط في حقل ملف الإدخال
- لماذا تستخدم نسخة معاينة من المتصفح؟
- كائن النقطة
- كائن الملف
- كائن FileReader
- كائن FileList
- ArrayBuffer
- ArrayBufferView
- كائن URL
- صفائف من النوع
- كائن DataView
- واجهة برمجة تطبيقات BroadcastChannel
- واجهة برمجة تطبيقات Streams
- كائن FormData
- كائن المستكشف
- كيفية استخدام واجهة برمجة تطبيقات تحديد الموقع الجغرافي
- كيفية استخدام getUserMedia ()
- كيفية استخدام Drag and Drop API
- كيفية العمل مع التمرير على صفحات الويب
- التعامل مع النماذج في JavaScript
- أحداث لوحة المفاتيح
- أحداث الماوس
- أحداث اللمس
- كيفية إزالة جميع العناصر الأبناء من عنصر DOM
- كيفية إنشاء سمة HTML باستخدام Vanilla Javascript
- كيف تتحقق مما إذا كان مربع الاختيار محددًا باستخدام JavaScript؟
- كيفية النسخ إلى الحافظة باستخدام JavaScript
- كيفية تعطيل زر باستخدام JavaScript
- كيفية جعل صفحة قابلة للتحرير في المتصفح
- كيفية الحصول على قيم سلسلة الاستعلام في JavaScript باستخدام URLSearchParams
- كيفية إزالة جميع CSS من صفحة مرة واحدة
- كيفية استخدام insertAdjacentHTML
- سفاري ، حذر قبل الإقلاع عن التدخين
- كيفية إضافة صورة إلى DOM باستخدام JavaScript
- كيفية إعادة تعيين نموذج
- كيفية استخدام خطوط جوجل