采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
老师您好, 为什么不直接写成People.hasOwnProperty(key) 而要写成 Object.prototype.hasOwnProperty.call呢? 是考虑运行性能吗?
function People () {
this.name = "daha"
}
People.xx = "sdf"
// 主要是查找hasOwnProperty上的性能考虑
// 方法1:向上一级Function.prtotype->再上一级Object.prototype原型查找hasOwnProperty,
// 需要损耗一点性能
console.log(People.hasOwnProperty("xx"))//true
// 方法2: 向上一级Object原型查找hasOwnProperty,需要损耗一点性能
console.log(People.prototype.hasOwnProperty.call(People, "xx"));//true
// 方法3: 向上一级Object原型查找hasOwnProperty,需要损耗一点性能
console.log(Function.prototype.hasOwnProperty.call(People, "xx"));//true
// 方法4:
console.log(Object.prototype.hasOwnProperty.call(People, "xx"));//true
老师解释的真清楚, 谢谢老师!
谢谢同学好评,刚注意到
登录后可查看更多问答,登录/注册
轻松驾驭 TypeScript 高级用法, 突破前端成长瓶颈
1.3k 15
954 12
1.1k 11
1.0k 11
748 10