Decode,
как вариант
return {
init: function() {
var self = this,
icons = document.querySelectorAll('.social-icons .icon'),
url = this.elem.getAttribute('data-url') || location.href,
title = this.elem.getAttribute('data-title') || document.title,
description = this.elem.getAttribute('data-description');
[].map.call(icons, function(icon) {
var id = icon.getAttribute('data-id');
id && addEvent(icon, 'click', function(e) {
e.preventDefault();
share(id, url, title, description, self);
})
})
}
};
http://plnkr.co/edit/n36HmlacBm8rbwCsT36D?p=preview