gpt4 book ai didi

javascript - 在javascript中将值设置为__proto_ _` and `原型(prototype)

转载 作者:数据小太阳 更新时间:2023-10-29 05:25:20 26 4
gpt4 key购买 nike

<分区>

__proto__prototype 有什么区别

我看了网上的大部分文章,还是看不懂..据我所理解__proto__ 是原型(prototype)对象的属性prototype 是实际的对象我对么? ....

为什么只有函数才有原型(prototype)属性?它如何成为一个对象?

var fn = function(){};
console.dir(fn);



输出

function fn()
arguments: null
caller: null
length: 0
name: ""
prototype: Object
__proto__: ()
<function scope>

使用对象和函数,我尝试为 __proto__
设置值和 chrome 控制台中的原型(prototype)如下所示

//create object and display it
var o = {name : 'ss'};
console.dir(o);



输出

Object
name: "ss",
__proto__: Object

//set the values
o.__proto__ = 'aaa';
o.prototype = 'bbb';

//after set the values display the object
console.dir(o);



输出

 Object
name: "ss",
prototype: "aaa",
__proto__: Object

//create function and display it
var fn = function(){};
console.dir(fn);


输出

function fn()
arguments: null
caller: null
length: 0
name: ""
prototype: Object
__proto__: ()
<function scope>



//set the values
fn.prototype = 'fff';
fn.__proto__ = 'eee';

//after set the values display the object
console.dir(fn);

输出

function fn()
arguments: null
caller: null
length: 0
name: ""
prototype: "fff"
__proto__: function()
<function scope>


然后我意识到我不能为 __proto__ 设置值,但可以为 prototype 设置值。为什么我不能为 __proto__ 设置值???

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com