js,代码中"object"和"Object"区别?

vartestname=newObject();document.write(getType(testname));functiongetType(x){if(x==nu... var testname = new Object();

document.write(getType(testname));
function getType(x) {
if(x == null) {
return "null";
}
var t = typeof x;
if(t != "object") {
return t;
}
var c = Object.prototype.toString.apply(x);

c = c.substring(8, c.length-1);

if(c != "Object") {
return c;
}

if(x.constructor == Object) {
return c;
}

if("classname" in x.constructor.prototype && typeof x.constructor.prototype.classname == "string") {
return x.constructor.prototype.classname;
}
return "<unknow type>";
}
上面的代码中:各个判断的"object"、"Object"、"x.constructor == Object"有什么区别?,还有最后的"classsname"这个什么意思?
展开
 我来答
woshidaniel
推荐于2017-09-30 · TA获得超过9242个赞
知道小有建树答主
回答量:1760
采纳率:96%
帮助的人:988万
展开全部
1、"object"是字符串,typeof后,js默认有6中字符串,"number," "string," "boolean," "object," "function," 和 "undefined.",用来判断对象的类型,这里判断是否是Object类型。
2、"Object"字符串,应该是判断自定义对象类是不是继承Object之类的,自己定义对象类是有规律,从第8个字符开始。判断结尾是不是Object字符串。
3、"x.constructor == Object":判断构造函数是不是Object对象,继承Object后,如果构造函数没有手工修改,则还是Object,不是对象本身的构造函数
4、,还有最后的"classsname"这个什么意思:判断是否有classname这个属性.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
mansai
推荐于2017-09-22 · TA获得超过1123个赞
知道小有建树答主
回答量:402
采纳率:0%
帮助的人:559万
展开全部
一、引号中的object代表字符串
二、Object代表一个对象。
三、x.constructor == Object,判断x的constructor属性是否等于Object
四、classsname是CSS样式名(也可以理解为类名)。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式