前端面试 · 读代码

54 阅读1分钟

记录一下面试遇到的读代码写结果的题目

1.本是同根生

var fun = function(){}
    
    fun.prototype = {
    info : {
    name : 'peter',
    age : 25
    }
    }
    
    var a = new fun();
    var b = new fun();
    
    a.info.name = 'jack';
    b.info.name = 'tom';
    console.log(a.info.name, b.info.name);

最终答案是'tom tom'

解析:参考原型式继承,prototype相当于构造函数,a和b均共享fun中的属性,当b修改其原型上的属性时,a的属性指向的原型属性也跟着改变了