44个javascript问题-43(来自知乎)

function f() {}
var parent = Object.getPrototypeOf(f);
看看下面输出什么

console.log(f.name);
f是函数,f.name对应函数名,没什么说的,输出f

console.log(parent.name);
parent是f的原型对象,函数的原型对象还是函数,所以我理解上面代码相当于console.log((function() {}).name),输出空

console.log(typeof eval(f.name));
查看了一下帮助,eval只接收原始的字符串作为参数,比如eval('alert("gunsmoke")'),如果参数是字符串变量,则会原封不动的返回,于是eval(f.name)返回f,而f在前面已经定义了,是函数,所以输出function

console.log(typeof eval(parent.name));
前面已经知道parent.name返回空,但是输出为undefined,这个我也不太理解,看完原型对象后再回头看看.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值