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.