Your little boy is 2 and this is very common and appropriate behavior for a young child. He has a trick, when you scold and he laughs, he's trying to illicit the same response from you. When children are babies, they mimick and they expect you to do the same. It's truly annoying, but for them its natural. My kids went through this stage, it seems to be followed by a super sensitive stage where they will cry at the drop of a hat. My youngest daughter is almost 3, when I correct her with my voice she generally listens, or if she doesn't she gets corrected again, then removed or whatever disipline will be the most effective. When her daddy even says boo to her she cries and sobs uncontrollably. You need to be firm and consistent that this is bad. Don't get sucked into a power struggle, remove him from the situation. If he's spitting, tell him "no spitting, that's bad." Then take him and his attention to something else. Have him sing a song or count his fingers or anything involving his mouth so he can't spit. If he's throwing toys, say "throwing toys is bad, play nicely with your toys" and engage him in the behavior you want to see, or take the toys from him. At this age his attention span and communication skills are limited, so putting him in time out and expecting him to remember and vocalize about why he's there are too much. Mine would never stay there anyway. If he'll laugh and spit more, he'll just run away from time out, then you'll be spending more time on a behavior that needs discouraging, not encouraging. Time our works well for preschoolers, not toddlers. Toddlers need redirection. Toddlers look at you to see how things should be judged. If you give it no time and attention, they will also. If you talk and talk about it and spend time and attention on it, they'll think its good and continue. Good luck.