为了账号安全,请及时绑定邮箱和手机立即绑定

为什么等式一样,返回结果不一样?

为什么等式一样,返回结果不一样?

守着一只汪 2019-02-21 17:16:30
刚在阮一峰大神书中看到如下代码,对于最后一个结果是 false 很疑惑。var obj = {};obj.hasOwnProperty('toString') // false// 覆盖掉继承的 hasOwnProperty 方法obj.hasOwnProperty = function () {  return true;};obj.hasOwnProperty('toString') // trueObject.prototype.hasOwnProperty.call(obj, 'toString') // false(这里有疑惑)自己一直都认为Object.prototype.hasOwnProperty.call(obj, 'toString') // 等价于obj.hasOwnProperty('toString') 然后再chrome 的console里试了下var obj = {};obj.hasOwnProperty('toString') === Object.prototype.hasOwnProperty.call(obj, 'toString')// log: true这两种表达式是全等的呀,明明只是写法不同。所以阮大神的那个代码里,最后一个到底为什么是false??求大神解答,谢谢。
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 384 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号