JD.com profit jumps 21% as shares fall 8% on Joybuy spend