The first definition I learned was
(1) \enspace m\textbf{v}.
Then I read that a more general definition is used in relativity, which approximates to the first definition at low speeds.
(2) \enspace \frac{m_0 \,v}{\sqrt{1-\left ( \frac{v}{c} \right )^2}},
where m_0 is the mass as measured in a coordinate system in which the object isn't moving. Very soon afterwards, often on the same page, I'd find textbooks would start talking about the momentum of a pulse of light, which they said was massless. The following relation is said to hold in general:
(3) \enspace E^2 = \left ( pc \right )^2 + \left ( mc^2 \right )^2,
which, setting m=0, gives
(4) \enspace E = pc
for the momentum of a massless particle. Wikipedia is typical in announcing, after the fact, that "this relativistic energy-momentum relationship", i.e. equation (3), "holds even for massless particles such as photons", when neither of the previous definitions were said not to hold for massless particles! This momentum for massless particles is given here as a scalar, but I suppose it can be treated as a 3-vector if given the direction of motion of the photon.
I'm intrigued by the statemen in the Wikipedia article that that in curved spacetime, momentum isn't defined. I'll bear that in mind for when I've learned enough to have more context.
I haven't studied any quantum mechanics yet, but it seems there's a different definition of momentum there, which has been mentioned in this thread. I wonder what its relationship is to the other definitions. Elementary textbooks give the equation
(5) \enspace p = \frac{h}{\lambda},
for the momentum of a photon (h being Planck's constant, and \lambda] wavelength), but this can be derived from (3) and the equation for the energy of a photon, so isn't a new definition.
I've also briefly looked at the very basics of Hamiltonian mechanics, which seems to have more abstract definition of momentum. I hope to explore that more fully. Does the Hamiltonian definition work as a more general way of expressing the particular definitions used in classical, relativistic and quantum meachanics?