You should not use the operator deletefor identifiers (in scope variables, functions - like sum- or function arguments).
The purpose of the operator deleteis to remove the properties of the object.
, , , .
, . , delete , ES5 , delete sum; ReferenceError.
Edit
@SLacks, delete Firebug, Firebug eval , , , , eval, , , , , eval, :
eval('var sum = function () {}');
typeof sum;
delete sum;
typeof sum;
, :

, , , , eval.