js问题,下面这段代码为什么两种调用函数的结果不一样?

function add(num1,num2){
                  // return num1 + num2;
                  alert(num1 + num2);
                  return 100;
            }
            add(1,1);
            alert(add(1,1));

为什么add(1,1);的结果只是个2;

而alert(add(1,1));的结果是2和100?

这两种不都是调用函数吗?

add(1,1)  是调用  没有返回      alert(add()) 先执行里面得alert  然后alert(返回值)