Justification of moving $\partial_x$ past dot products In some situations $\nabla$ behaves similar to a vector, but there are some strangeness in the usage of notation. For example, when computing divergence,
$$
\nabla \cdot \mathbf f = (\mathbf e_x \partial_x + \mathbf e_y \partial_y+\mathbf e_z \partial_z ) \cdot (f_x\mathbf e_x+ f_y  \mathbf e_y + f_z \mathbf e_z),
$$
we get terms like $(\mathbf e_x \partial_x) \cdot (f_x \mathbf e_x)=\mathbf e_x \cdot (\partial_x f_x \mathbf e_x).$ Here is what's puzzling: I cannot find any justification why we can move $\partial_x$ past the dot product, so the only thing I can do is to treat this as the definition of the operator "$(\mathbf e_x \partial_x) \cdot$", which is perfectly fine here.
However, this operator view leads to some troubles: now we are treating "$(\mathbf e_x \partial_x) \cdot$"(with dot) and "$(\mathbf e_x \partial_x)$"(without dot) as two different operators, and it is hard to see relations between them. To be more specific, let's look at an example:
Suppose we wish to express divergence in spherical coordinates. We get an expression for gradient $\nabla u= \mathbf e_r \partial_ru +\frac{1}{r} \mathbf e_\theta \partial_\theta u +\ldots$ in spherical coordinates. Then we need to compute
$$
\nabla \cdot \mathbf f =(\mathbf e_r \partial_r +\frac{1}{r} \mathbf e_\theta \partial_\theta +\ldots)\cdot ( f_r \mathbf e_r +\ldots)
$$
Again we get terms like $\mathbf e_r \partial_r\cdot (f_\theta \mathbf e_\theta ).$  In all computations I see in books, we move $\partial_r$ past the dot product. This is pretty worrying, because how can we know that moving $\partial_r$ past the dot product will have the same effect as moving $\partial_x$ past the dot product? How can I know that moving $\partial_r$ will lead to the same operator as moving $\partial_x$? The two expressions for $\nabla$ in cartesian and shperical coordinates are certainly identical for  computing gradient, but how can I know whether they are still identical when I add a dot after them? After all the "moving past dot" operation is not a priori independent of the choice of coordinates.
It would be really helpful if there is an explanation why this is the case.
I know that I can easily avoid using these notations altogether, by just computing from the definition $\nabla \cdot \mathbf f = \sum_j \frac{\partial f_j}{\partial x_j},$ after transforming $\partial_\theta f_j$ etc to $\partial_y f_j$ etc using the Jacobian matrix.
However, I still wish to know about the reason why this "moving past dot" thing would at all work.
 A: I think the dot product business is a primarily a notation issue. In your first example, when we write \begin{equation}
\nabla \cdot \textbf{f}=(\textbf{e}_x\partial_x+\textbf{e}_y\partial_y+\textbf{e}_z\partial_z)\cdot(f_x\textbf{e}_x+f_y\textbf{e}_y+f_z\textbf{e}_z),
\end{equation} this is really just a more explicit form of writing:
\begin{equation}
(\partial_x,\partial_y,\partial_z)\cdot( f_x,f_y,f_z).
\end{equation}
Now it's clear what we do. The dot product is defined by component wise multiplication, and here, we adopt the convention that left multiplication with the derivative operator is taking the derivative.
If you don't like thinking about it this way, then recall that $f_x,f_y, f_z$ are all scalar quantities, and we are also treating the partial derivatives as "scalars" here. Therefore, we're using the dot product property that $a\textbf{v}_1\cdot b\textbf{v}_2=ab\textbf{v}_1\cdot\textbf{v}_2$, or in your example, it would be
\begin{equation}
(\textbf{e}_x\partial_x)\cdot(f_x\textbf{e}_x)=\partial_xf_x(\textbf{e}_x\cdot\textbf{e}_x)=\partial_xf_x.
\end{equation}
