電子メール アドレスを難読化する JS オブジェクトを作成しましたが、2 つのわずかに異なる方法を発見しました (それぞれに 1 つのプライベート メソッドと 1 つのパブリック メソッドがあります)。
オブジェクト 1:
var email = new function()
{
function encrypt(code, key)
{
<eliminated for brevity>
};
this.mailto = function(address, name)
{
link = encrypt(<code>, <key>);
document.write('<a href="mailto:'+ link +'">'+ name +'</a>');
}
};
オブジェクト 2:
var email = function()
{
function encrypt(code, key)
{
<eliminated for brevity>
};
return {
mailto: function(address, name)
{
link = encrypt(<code>, <key>);
document.write('<a href="mailto:'+ link +'">'+ name +'</a>');
}
};
}();
これらの構文はどちらも機能し、次のように呼び出すことができます。
email.mailto('example', 'Example');
特にメモリ使用量や拡張性に関心があります。
Object 1 が呼び出されるたびに新しいインスタンスを作成するように見えますか?
違いは何ですか?