I read a book on OO programming in JavaScript and get weird behavior:
function f1() { var a = 1; console.log('a in f1 function ', a); console.log('f2() called ', f2()); return 'f1 return value'; } function f2() { console.log('a value in f2() ', a); return a; } var a = 5; a = 55; var foo = 'bar'; console.log('delete a: ', delete a); console.log(a); console.log(f1()); console.log('delete window.f2: ', delete window.f2); console.log(f1()); console.log('delete foo: ', delete foo);
Can anyone understand why my delete VARIABLE returns false (in Firefox) and a strict mode warning, for example:
SyntaxError: applying the 'delete' operator to an unqualified name is deprecated console.log('delete foo: ', delete foo);
source share