¿Puedo establecer variables en indefinido o pasar indefinido como argumento?


Estoy un poco confundido acerca de los valores de JavaScript undefined y null.

¿Qué hace if (!testvar) realmente? ¿Prueba para undefined y null o simplemente undefined?

Una vez definida una variable, ¿puedo borrarla de nuevo a undefined (por lo tanto, borrando la variable)?

Puedo pasar undefined como parámetro? Por ejemplo:

function test(var1, var2, var3) {

}

test("value1", undefined, "value2");

Warning: Undefined property: agent_blog_content::$date_asked in /var/www/agent_etc/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 32

Warning: Undefined property: agent_blog_content::$count_answers in /var/www/agent_etc/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 52