【发布时间】:2012-02-08 17:15:47
【问题描述】:
有一些例子:
a = ''; //string
b = 0; //number 0
b1 = 0xf; //number 15
c = (function(){}) //function function (){}
d = []; //object
e = {}; //object [object Object]
f = void(0); //undefined undefined
但是当我尝试像这样传递未定义的变量 trugth 函数时:
typeof qwerty; //undefined
function at(a){return (typeof a)+' '+a;}
at(qwerty); // ????
..i`v 收到错误“未捕获的 ReferenceError:未定义 qwerty”。 我如何(是否存在最短的方法)创建函数 isDefined(a,b) 或其他技巧来减少该表达式?:
c=(typeof a!='undefined'&&a||b)
澄清:如果定义了a - c 等于a,过度 - b,如php中的“c=@a?:b”
编辑:
function ud(_a){return typeof window[_a]==='undefined'}
a=undefined; b=3;
alert((ud('a')?4:a)+(ud('b')?5:b));
【问题讨论】:
-
抱歉,请问您有什么问题?
-
帮自己一个忙,并在 google.com 上搜索“javascript 中未定义的值” - 通过阅读和尝试(尝试编辑器!)您会自己找到正确答案
标签: javascript function undefined arguments