new运算符的操作结果跟视频不一样

来源:2-2 [JavaScript]运算符

12只怕有心人

2017-04-30 01:15

new运算符的操作结果跟视频不一样
这是视频截图

http://img.mukewang.com/59056a4f0001c77306760340.jpg


使用的猎豹浏览器测试, 按视频中说使用chrome可以检测_proto_?
http://img.mukewang.com/5904c983000107ed05690290.jpg
为什么console.log(obj._proto_.hasOwnProperty('x')); 显示undefined?


写回答 关注

3回答

  • 五更人_
    2017-04-30 13:06:52
    已采纳

    http://img.mukewang.com/590570d000013e7505320277.jpg如图示

    12只怕有心...

    赞一个

    2017-05-02 17:29:37

    共 1 条回复 >

  • 慕前端5422844
    2017-06-21 15:51:00

    明明就是"_proto_"写错了导致的!正确的是 __proto__

  • 五更人_
    2017-04-30 11:34:56

    Foo()作为原型里面只有你预设的一个x属性   你之后的obj是作为它的一个实例出现 也就是说 你obj.y这个属性只附给了obj 你的Foo原型上并不存在y这个属性 你的obj_proto_.hasOwnProperty('y')其实就是等价于 Foo.hasOwnProperty('y')   因为Foo上不存在这个属性 所以你的console显示出来结果是在找一个不存在的属性  即返回  undefined

    12只怕有心... 回复五更人_

    再试了下IE11, Edge, 猎豹浏览器都没办法解读 obj._proto_.hasOwnProperty , 到时都可以支持 hasOwnProperty. 我使用的猎豹当前也是IE11的内核. :(

    2017-05-02 17:28:25

    共 3 条回复 >

JavaScript深入浅出

由浅入深学习JS语言特性,且解析JS常见误区,从入门到掌握

281100 学习 · 1020 问题

查看课程

相似问题