function defineMaxSizeLs () {
    const itemSize = 1024 * 10;
    let maxSize = 0;
    let i = 0;
    let buffer = &#39;&#39;;

    for (let k = 0; k &lt; itemSize; k++) {
        buffer += &#39;0&#39;;
    }

    const getStorageSize = () =&gt; {
        var occupied = 0;

        for (let j = 0; j &lt; localStorage.length; j++) {
            occupied += localStorage[localStorage.key(j)].length;
        }

        return occupied;
    };

    const run = () =&gt; {
        console.log(&#39;expected size = &#39;, maxSize, &#39;actual size = &#39;, getStorageSize());

        try {
            localStorage.setItem(&#39;___test&#39; + i, buffer);

            setTimeout(() =&gt; {
                maxSize += itemSize;
                ++i;
                run();
            }, 100);
        } catch(e) {
            console.log(&#39;max size&#39;, maxSize);
        }
    };

    run();
}