qual a diferença entre selection.style e selection.attr em D3.js?

Eu encontrei os dois trabalhos no meu teste:

    .on("mouseover",
        function() {
            d3.select(this)
                .select("text")
                .style("fill","red");
        })

ou

    .on("mouseover",
        function() {
            d3.select(this)
                .select("text")
                .attr("fill","red");
        })

questionAnswers(2)

yourAnswerToTheQuestion