We're looking for a user researcher to understand the needs of developers and designers. Is this you or someone you know? Check out the post: https://mzl.la/2IGzdXS

WebAssembly.Memory.prototype.grow()

La méthode grow(), rattachée au prototype de l'objet Memory, permet d'augmenter la taille de l'espace mémoire correspondant d'un nombre de pages WebAssembly.

Syntaxe

memory.grow(nombre);

Paramètres

nombre
Le nombre de pages WebAssembly duquel on veut augmenter l'espace mémoire correspondant à l'objet courant (une page mémoire WebAssembly correspond à 64 Ko).

Valeur de retour

La taille de l'espace mémoire avant l'extension, exprimée en nombre de pages WebAssembly.

Exemples

Dans le code qui suit, on crée une instance de Memory qui mesure initialement 1 page (soit 64 Ko) et dont la taille maximale est de 10 pages (soit 6,4 Mo).

var memory = new WebAssembly.Memory({initial:10, maximum:100});

Ensuite, on augmente la taille de l'espace mémoire d'une page grâce à la méthode :

const bytesPerPage = 64 * 1024;
console.log(memory.buffer.byteLength / bytesPerPage);  // "1"
console.log(memory.grow(1));                           // "1"
console.log(memory.buffer.byteLength / bytesPerPage);  // "2"

On voit ici que la valeur de grow() indique l'espace utilisé avant l'agrandissement de la mémoire.

Spécifications

Spécification État Commentaires
WebAssembly JavaScript Interface
La définition de 'grow()' dans cette spécification.
Version de travail Brouillon de définition initiale pour WebAssembly.

Compatibilité des navigateurs

FonctionnalitéChromeEdgeFirefoxInternet ExplorerOperaSafari
Support simple5716522 Non4411
FonctionnalitéAndroid webviewChrome for AndroidEdge mobileFirefox for AndroidOpera AndroidiOS SafariSamsung Internet
Support simple5757 Oui1522 ?117.0

1. This feature is behind the Experimental JavaScript Features preference.

2. Disabled in the Firefox 52 Extended Support Release (ESR).

Voir aussi

Étiquettes et contributeurs liés au document

Contributeurs à cette page : SphinxKnight
Dernière mise à jour par : SphinxKnight,