鉴别SO42-,可用Ba2+,二者反应生成BaSO4白色沉淀,鉴别NH4+,可用OH-,生成具有刺激性气味的NH3,则应加入Ba(OH)2溶液鉴别.
【解析】
A.NaOH与Na2SO4和NaCl不反应,加入NaOH不能鉴别Na2SO4和NaCl,故A错误;
B.加入Ba(OH)2,Na2SO4生成沉淀,NaCl无现象,(NH4)2SO4既有沉淀生成,又有刺激性气体产生,三者现象不同,故B正确;
C.加入AgNO3,分别生成AgCl和Ag2SO4,三种溶液都产生沉淀,无法鉴别,故C错误;
D.加入Ba(NO3)2,Na2SO4和(NH4)2SO4都生成沉淀无法鉴别,故D错误.
故选B.