Aquí, en este documento (en progreso, como todo en html 5, pero verás lo mismo en los documentos finales de xhtml), verás cómo deben escribirse los atributos, pese a que si son escritos de otra manera funcionen:
http://www.w3.org/TR/html5/elements....bal-attributes
Cuando usás return nombrefuncion(), lo que esperás es que la función devuelva un resultado.
En efecto, el uso del pseudoprotocolo javascript no tiene sentido salvo que se trate de bookmarklets (y repito que Pinterest lo usa de manera especialmente inteligente).
Además, notá que únicamente tiene sentido como valor de un atributo href o src.