问题描述
- javascript prototype问题
-
function MyClass() { } MyClass.prototype = null; var myClass = new MyClass(); alert(myClass.toString()); </script>
我这自己定义了一个构造函数 ,并将函数的prototype 设为null 但是为什么我用这个构造函数实例化一个对象之后,
这个对象仍然可以调用toString
解决方案
你定义prototype和toString有什么关系呢?只要不是null或者undefined数据都有toString方法
除非你重新定义过toString为null或者不为函数
MyClass.prototype = {toString:null};
解决方案二:
prototype1、prototype是与Clone联系起来的,也就是说,当创建实例时,prototype会把成员clone到该Class(function)的实例上。Detail: 最常见的几个内置内对象里的prototype,如:Array原型有join, split方法,当创建数组a时var a=[1,2],原型里的所有方法都被clone到a上。2、this是该类的实例指针(该指针为"动态......
答案就在这里:关于Javascript 的 prototype问题
解决方案三:
在js里头null也是一个object
时间: 2024-11-02 21:41:57