Tag b:with
tidak memiliki fungsi yang spesial kecuali sebagai placeholder untuk memperpendek deklarasi variabel, dan juga untuk mencegah pengulangan ekspresi fungsi. Berikut ini adalah contoh ekspresi fungsi tanpa bantuan b:with
:
<p><img alt='1' expr:src='data:post.thumbnailUrl ? resizeImage(data:post.thumbnailUrl, 200) : "no-image.png"'/><p>
<p><img alt='2' expr:src='data:post.thumbnailUrl ? resizeImage(data:post.thumbnailUrl, 200) : "no-image.png"'/><p>
<p><img alt='3' expr:src='data:post.thumbnailUrl ? resizeImage(data:post.thumbnailUrl, 200) : "no-image.png"'/><p>
Berikut ini adalah contoh ekspresi fungsi dengan bantuan b:with
:
<b:with var='src' value='data:post.thumbnailUrl ? resizeImage(data:post.thumbnailUrl, 200) : "no-image.png"'>
<p><img alt='1' expr:src='data:src'/><p>
<p><img alt='2' expr:src='data:src'/><p>
<p><img alt='3' expr:src='data:src'/><p>
</b:with>
Membandingkan dengan bahasa pemrograman yang lain seperti JavaScript, b:with
dapat diartikan sebagai variabel yang dibuat untuk memperpendek proses komputerisasi dengan cara menyimpan nilainya terlebih dahulu:
var src = typeof post.thumbnailUrl !== "undefined" ? resizeImage(post.thumbnailUrl, 200) : 'no-image.png';
document.write('<p><img alt="1" src="' + src + '"/></p>');
document.write('<p><img alt="2" src="' + src + '"/></p>');
document.write('<p><img alt="3" src="' + src + '"/></p>');