console.log("-----------typeof o------------");
console.log("null\t\t\t", typeof null);
console.log("{}\t\t\t\t", typeof {});
console.log("[]\t\t\t\t", typeof []);
console.log("\"a\"\t\t\t\t", typeof "a");
console.log("new Date()\t\t", typeof new Date());
console.log("1\t\t\t\t", typeof 1);
console.log("Number(1)\t\t", typeof Number(1));
console.log("undefined\t\t", typeof undefined);
console.log("-----------Object.prototype.toString.call(o)------------");
console.log("null\t\t\t", Object.prototype.toString.call(null));
console.log("{}\t\t\t\t", Object.prototype.toString.call({}));
console.log("[]\t\t\t\t", Object.prototype.toString.call([]));
console.log("\"a\"\t\t\t\t", Object.prototype.toString.call("a"));
console.log("new Date()\t\t", Object.prototype.toString.call(new Date()));
console.log("1\t\t\t\t", Object.prototype.toString.call(1));
console.log("Number(1)\t\t", Object.prototype.toString.call(Number(1)));
console.log("undefined\t\t", Object.prototype.toString.call(undefined));
console.log("------------o.constructor-----------");
console.log("{}\t\t\t\t", {}.constructor);
console.log("{}\t\t\t\t", {}.constructor === Object);
console.log("[]\t\t\t\t", [].constructor);
console.log("[]\t\t\t\t", [].constructor === Array);
console.log("\"a\"\t\t\t\t", "a".constructor);
console.log("\"a\"\t\t\t\t", "a".constructor === String);
console.log("new Date()\t\t", (new Date()).constructor);
console.log("new Date()\t\t", (new Date()).constructor === Date);
console.log("Number(1)\t\t", Number(1).constructor);
console.log("Number(1)\t\t", Number(1).constructor === Number);
本文通过示例代码展示了JavaScript中不同类型变量的检测方法,包括使用typeof、Object.prototype.toString.call及constructor属性进行类型判断。这些方法有助于开发者更好地理解JavaScript的数据类型及其内部实现。
2286

被折叠的 条评论
为什么被折叠?



