yisainan / web-interview

我是齐丶先丶森,收集整理全网面试题及面试技巧,旨在帮助前端工程师们找到一份好工作!更多详见公众号「前端面试秘籍」
MIT License
2.61k stars 507 forks source link

[选择题] 46.(单选题)下面代码的输出是什么 #1024

Open qiilee opened 4 years ago

qiilee commented 4 years ago
String.prototype.giveLydiaPizza = ( ) = > {  
    return 'Just give Lydia pizza already!';
};

const name = 'Lydia'; 
name.giveLydiaPizza();
A:"Just give Lydia pizza already!"
B: TypeError: not a function
C: SyntaxError 
D: undefined

答案:A

解析:

String是一个内置的构造函数,我们可以为它添加属性。我刚给它的原型添加了一t方法。原始类型的字符串自动转换为字符串对象,由字符串原型函数生成。因此,所有字符串(字符串对象)都可以访问该方法!

当使用基本类型的字符串调用giveLydiaPizza时,实际上发生了下面的过程: