有学有练才叫学习:学而不思则罔,思而不学则殆:学而不习,纸上谈兵,习而不进,画地为牢!

js 判断是否为对象(如何判断一个变量是不是对象?)

javascript 炮渣日记 3周前 (11-12) 17次浏览 已收录 0个评论 扫描二维码

遇见这样的问题,估计有人马上会说 typeof,这样可就错了。

在 JS 中,我们都知道数据类型分两种:基本和引用类型。同时可以通过 typeof 变量名 的形式得到变量的数据类型。

比如:

js 判断是否为对象(如何判断一个变量是不是对象?)

这就导致我们没法区分 var a = null; var b = []; var c = {}; 这三个变量的类型是不是一样的。所以我们需要使用 Object.getPrototypeOf() 这个方法。

https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Object/GetPrototypeOf

详细内容参考这里。

Object.getPrototypeOf()

这个方法获取参数对象的原型,如果原型上没有继承的属性了,则结果是 null。

比如:

js 判断是否为对象(如何判断一个变量是不是对象?)

通过以上分析,我们就知道如果来区分是不是对象了。

js 判断是否为对象(如何判断一个变量是不是对象?)

上面代码的意思是,如果变量 obj 的原型和最终得到的对象原型一样,说明是对象,否则就不是对象。接下来我们测试一下。

js 判断是否为对象(如何判断一个变量是不是对象?)

到此,一个判断变量是不是对象的方法就完成了。

喜欢 (0)
炮渣日记
关于作者:
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址