Object.create(null)与对象字面量创建对象的区别

2019-08-13  本文已影响0人  Odeng

Object.create(null)

Object.create(null)没有继承任何原型方法。创建对象里面空空如也.

Object.create({})

继承Object.prototype上的方法

对象字面量

继承Object原型上的方法

new Object

带上原型上方法

总结

createObject.jpg

如图所示:Object.create(null)创建的对象没有原型上的方法。Object.create({}),对象字面量,new Object()都会带上Object原型上的方法

测试代码

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Create Object</title>
</head>
<body>
    <script>
        var obj1 = Object.create(null);
        var obj2 = Object.create({});
        var obj3 = {};
        var obj4 = new Object();
        console.log(obj1);
        console.log(obj2);
        console.log(obj3);
        console.log(obj4);
    </script>
    
</body>
</html>
上一篇下一篇

猜你喜欢

热点阅读