You cannot use a variable that hasn't been declared unless it's in a typeof
test
When you try to pass a variable that hasn't been declared into a function, that is considered using that undeclared variable. You'll notice that the error is in the caller, not inside isDefined
You need to run the check for
if (typeof sdsdsd !== 'undefined')
before you pass it into the function. Basically that means you can't write a isDefined
function that accepts undeclared variables. Your function can only work for undefined properties (which are OK to pass around)
However, I am curious, what is the real world case where you're passing a variable that doesn't exist? You should declare all your variables and they should exist already. Had you declared var sdsdsds
it would exist with the value of undefined
and your isDefined
function would work just fine.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…