为什么动态原型要加if判断if(typeof this.getName!="function"){ }
你要确认存在这个方法名称直接调用就行,不需要typeof判断。这个方法应该是动态添加的,增加这个判断防止getName不是方法调用导致报错
由于javascript是一门弱类型的动态语言,加上typeof判断主要是增加程序的鲁棒性,这样能够有效的确保我们时用的参数是我们想要的数据类型。
如楼主贴出的代码,主要就是为了检查this.getName是不是一个可执行的方法。但是需要注意的是,typeof对类型的检查是存在问题的,比如对数组就不能正确判断
主要是怕后来获取方法名的时候报错。