js创建一个构造函数,会默认在原型链上添加一个constructor的属性,它保存了构造函数内的代码。

一般情况下我们不需要去改动它,但是有些时候我们会不经意的改写它。

比如下面这个例子:

var Fn = function(){

    };

    Fn.prototype = {
a:function(){ }
};

原型链是赋值操作而不是添加属性,所以把默认的constructor属性覆盖掉了,我们可以这样解决:

var Fn = function(){

    };

    Fn.prototype.a = function(){

    };

或者:

var Fn = function(){

    };

    Fn.prototype.a = {
constructor:Fn,
a:function(){ }
};

还有一种情况就是在做类式继承的时候也容易把constructor覆盖掉,比如:

var Base = function(){

    };

    var Aaa = function(){

    };

    Aaa.prototype = new Base();

修复constructor只需添加一句代码:

Aaa.prototype.constructor = Aaa;

最新文章

  1. vsftpd 安装配置
  2. [LeetCode] Range Sum Query 2D - Mutable 二维区域和检索 - 可变
  3. 《30天自制操作系统》笔记(01)——hello bitzhuwei’s OS!
  4. 限制EditText 输入的字节数
  5. c#根据后台数据,自动生成checkbox
  6. php学习01
  7. 重新认识Entity Framework
  8. db2数据库Date相关函数
  9. AngularJS(2)-Scope作用域和控制器
  10. HDOJ/HDU 1015 Safecracker(深搜)
  11. Oracle sql语言模糊查询--like后面的通配符
  12. JavaScript基本概念(变量和数据类型)
  13. linux内核移植X86平台的例子
  14. 在iview的Table中添加Select(render)
  15. 8、socket以及socketserver
  16. excel数据导入mysql
  17. 利用phpredis实现PHP操作Redis
  18. 《团队-爬虫豆瓣top250项目-团队一阶段互评》
  19. [20181229]关于字符串的分配问题.txt
  20. 【底层原理】深入理解Cache (上)

热门文章

  1. C# 中正则表达式 Group 分组
  2. Machine Learning - week 2 - Multivariate Linear Regression
  3. coursera 《现代操作系统》 -- 第八周 存储模型(2)
  4. 2015-02-07——js笔记
  5. django注册在使用hashlib对密码加密时报Unicode-objects must be encoded before hashing
  6. android 支付宝集成 使用常见错误
  7. 解决You are using pip version 9.0.1, however version 9.0.3 is available. You should consider upgra
  8. Java基础—String总结
  9. PAT 天梯赛 L1-020. 帅到没朋友 【STL】
  10. 初学JQuery相关知识点