質問は「最も速い方法は何ですか」と尋ねたので、コードの行数が最も少なく、JavaScript が for 関数または for ループに持つコンテキスト スイッチのオーバーヘッドを追加しないため、これが最も速い方法です。
var domain = window.location.hostname;
var parts = domain.split('.');
var isIpAddress;
// Decide whether host is IP address
isIpAddress = /[0-9]{0,3}\.[0-9]{0,3}\.[0-9]{0,3}\.[0-9]{0,3}/.test(domain);
// If it's an IP, then use full host name,
// otherwise just use last two values of the dot-delimited host name array
if(isIpAddress)
domain = window.location.hostname;
else
{
if(parts.length <= 3)
domain = '.'+window.location.hostname;
else
domain = '.'+window.location.hostname.split('.').slice(1).join('.');
}