美文网首页
JS提高篇

JS提高篇

作者: 翌凌枫 | 来源:发表于2019-04-11 09:10 被阅读0次

        JS还有很多很多东西要学习了解。js是基于原型的OOP语言,想进一步了解纯的OOP思想,推荐了解一下JAVA。JAVA他本身除了是一个纯OOP语言之外,还有很多后台开发的东西可以一拼了解。然后关于构造函数,原型,实例等等之间的联系需要搞的明白一点。 

    一、构造器(constructor) 

        1、constructor始终指向创建当前对象的构造(初始化)函数。 

        http://www.cnblogs.com/jikey/archive/2011/05/13/2045005.html 

        2、每个函数都有一个默认的属性prototype,而这个prototype的constructor默认指向这个函数

        http://blog.csdn.net/kittyjie/article/details/4380918

        其实在JS中构造器就是函数,函数就是构造器,对象实例就是通过var obj=new 函数();这种形式新建出来的实例。区别这些,在说prototype和constructor。从上面的英文中可以看出,prototype是个对象,里面定义了一个constructor,那么我们可以推论出,constructor是对象实例的属性!而不是函数(构造器)的属性。反过来,prototype是函数(构造器)的属性,而不是实例的属性!

        我要强调一点就是__proto__是实例和Person.prototype之间的关系,而constructor是实例和Person之间的关系

    http://blog.csdn.net/a569171010/article/details/7467514

        他们的关系:

        instance -> __proto__ -> person.prototype -> constructor <- person.prototype -> function Person(){} -> Object() -> window 

    http://www.cnblogs.com/o-andy-o/archive/2012/11/20/2778260.html

    http://ejohn.org/apps/learn/#1

        2. prototype

        一、什么是原型(prototype)

        1、prototype本质上还是一个JavaScript对象;

        2、每个函数都有一个默认的prototype属性;

        3、通过prototype我们可以扩展Javascript的内建对象

    http://blog.csdn.net/a569171010/article/details/7467514

    http://www.iteye.com/topic/195409

    http://stauren.net/log/eggxfygvg.html

        二. 原型链: 常用原型来实现继承,其基本思想是利用原型让一个引用类型继承另一个引用类型的属性和方法。简单说,构造函数、原型和实例的关系:每个构造函数都有一个原型对象,原型对象都包含一个指向构造函数的指针,而实例都包含一个指向原型对象的内部指针。假如我们让原型对象等于另一个类型的实例。那结果将是:此时的原型对象将包含一个指向另一个原型的指针,相应地,另一个原型中也包含着一个指向另一个构造函数的指针。假如另一个原型又是另一个类型的实例,那么上述关系成立,如此层层递进,就构成了实例与原型的链接。这就是原型链的基本概念。

    http://blog.endlesscode.com/2010/01/23/javascript-prototype-chain/

    http://www.cnblogs.com/ziyunfei/archive/2012/10/15/2723963.html

    https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/JavaScript_Overview?redirectlocale=en-US&redirectslug=JavaScript%2FGuide%2FJavaScript_Overview

    https://developer.mozilla.org/zh-CN/docs/JavaScript/Guide

    http://blog.csdn.net/siczxw555/article/details/6138428

    http://www.cn-cuckoo.com/2007/08/01/understand-javascript-closures-72.html

    http://www.zhuoda.org/lunzi/101543.html

    3. 闭包

    http://www.cnblogs.com/luluping/archive/2009/05/27/1490551.html

    http://www.cnblogs.com/xiaoruoen/archive/2011/09/23/2185832.html

    http://ghsky.com/2010/11/deep-into-javascript-closure-part-two.html

    http://www.felixwoo.com/archives/247

    http://www.cnblogs.com/hh54188/archive/2012/03/01/2374921.html

    http://blog.csdn.net/a569171010/article/details/7484125

    http://bbs.51js.com/viewthread.php?tid=79018&extra=&highlight=%2Bwinter&page=1

    https://developer.mozilla.org/zh_tw/Core_JavaScript_1.5_%E6%95%99%E5%AD%B8/%E9%96%89%E5%8C%85%E7%9A%84%E9%81%8B%E7%94%A8

    4. call,apply

    http://topic.csdn.net/u/20081209/23/0823c850-5a56-421e-8922-fa35b26a517a.html

    http://www.cnblogs.com/treasurelife/archive/2008/03/05/1092251.html

    5. function

    http://desert3.iteye.com/blog/1198400

    http://chillwarmoon.iteye.com/blog/77123

    http://software.intel.com/zh-cn/articles/javascript-first-class-citizen-function/?cid=sw:prccsdn229032

    http://www.cn-cuckoo.com/main/wp-content/uploads/2009/12/named-function-expressions-demystified.html#introduction

    6. js扩展的一些知识点: 

    http://www.cn-cuckoo.com/main/wp-content/uploads/2009/12/named-function-expressions-demystified.html#introduction

        命名函数表达式探秘

    http://bbs.51js.com/viewthread.php?tid=85245&highlight=scope

        Scope Chain的问题

    http://bbs.51js.com/viewthread.php?tid=83841&highlight=%D7%F7%D3%C3%D3%F2

        try catch作用域的疑问

    http://bbs.51js.com/viewthread.php?tid=85310&highlight=%D7%F7%D3%C3%D3%F2

        变量作用域和词法作用域的区别

    http://hax.iteye.com/blog/104393

        关于JScript 5.6及其之前(IE6)引擎的创建对象的性能问题

    http://bbs.51js.com/viewthread.php?tid=83190&extra=page%3D2%26amp;filter%3Ddigest

        JScript下Array对象的性能问题

    http://bbs.51js.com/viewthread.php?tid=83586&extra=page%3D1&page=1

        为为什么不用with

    http://bbs.51js.com/viewthread.php?tid=79018&extra=&highlight=%2Bwinter&page=1

        JS引擎的Closure测试

    http://bbs.51js.com/viewthread.php?tid=74299&highlight =

        转贴Aimingoo:JavaScript面向对象的支持

    http://bbs.51js.com/viewthread.php?tid=77398&highlight =

        用functional思想编写js一例——缓动效果

    https://developer.mozilla.org/zh-CN/docs/JavaScript/Guide/Details_of_the_Object_Model

        对象模型的细节 

    自学笔记,本文转载于-----http://www.cnblogs.com/jikey/p/3604459.html

    相关文章

      网友评论

          本文标题:JS提高篇

          本文链接:https://www.haomeiwen.com/subject/qhsziqtx.html