日期:2014-05-16  浏览次数:20288 次

未定义变量的问题
alert(typeof   oTemp2);
这里会显示undefined
因为在typeof之前会自动把oTemp2声明为一个变量

那为什么这样就会出错呢
alert(oTemp2   ==   undefined);

两个都属于运算符啊
难道第二个==执行是在声明oTemp2之前?
还是==这种运算时不会声明变量
那typeof为什么就可以呢

------解决方案--------------------
JScript

typeof 运算符
请参阅
运算符优先级 | 运算符总结
要求
版本 1
返回一个用来表示表达式的数据类型的字符串。

typeof[()expression[]] ;
expression 参数是需要查找类型信息的任意表达式。

说明
typeof 运算符把类型信息当作字符串返回。typeof 返回值有六种可能: "number "、 "string "、 "boolean "、 "object "、 "function " 和 "undefined "。

typeof 语法中的圆括号是可选项。

要求
版本 1

------解决方案--------------------
typeof 没有引用其值所以就没有出错。。

==是引用左边的值和右边的值做比较。。
左边为初始化。当然就错啦。
------解决方案--------------------
上面正解呀。。
------解决方案--------------------
oTemp1;
你这样写和。。
wc = oTemp1;
不是一样的么?
不还是要引用oTemp1的值么?

var oTemp1;
则是声明变量。。所以没有引用起值。。。
------解决方案--------------------
是这样的吗