昨天遇到一个问题:之前工作良好的代码,突然不受控制。经过调试发现,函数中传递进来的undefined常量居然是一个对象(IE:Object, FF:NodeList)。最后换成null解决。
测试发现undefined虽然是系统内置的常量(表示类型/对象未定义)但不是关键字,可以像String对象一样被覆写(undefined={})。
注:
Javascript中undefined和null是两种很特殊的类型/对象。undefined表示对象未定义,未定义对象会抛出不可预测的异常,而null则表示变量引用对象不存在。使用等于号(==)比较,他们相等;而使用完全等于号(===)比较时,他们不相等。
测试发现undefined虽然是系统内置的常量(表示类型/对象未定义)但不是关键字,可以像String对象一样被覆写(undefined={})。
注:
Javascript中undefined和null是两种很特殊的类型/对象。undefined表示对象未定义,未定义对象会抛出不可预测的异常,而null则表示变量引用对象不存在。使用等于号(==)比较,他们相等;而使用完全等于号(===)比较时,他们不相等。
没有评论:
发表评论