摘要:
上次讲到的原型链中,原型链存在一个问题就是不能向超类型的构造函数传递参数。那么这次就是要实现如何向超类型构造函数传递参数。这种方法我们称之为借用构造函数(constructor stealing)这里的实现方法是使用js的原生方法apply()或all()。那么先温习下apply()和all()函数的知识。call方法:语法:call([thisObj[,arg1[, arg2[, [,.argN]]]]])定义:调用一个对象的一个方法,以另一个对象替换当前对象。说明:call 方法可以用来代替另一个对象调用一个方法。call 方法可将一个函数的对象上下文从初始的上下文改变为由 thisObj 阅读全文
摘要:
继承是OO语言中一个重要的特性和概念。许多的OO语言中都支持两种继承方式:接口继承和实现继承。ECMAScript只支持实现继承,其实现继承主要是靠原型链来实现。在PHP语言中,是使用extend来实现继承。那么我们就先来讲讲原型链。原型链的基本思想是利用原型让一个引用类型继承另一个引用类型的属性和方法。简单回顾下构造函数、原型和实例的关系:每个构造函数都有一个原型对象,原型对象包含一个指向构造函数的指针(prototype),而实例则包含一个指向原型对象的内部指针(__proto__)。实现原型链有一种基本模式,其代码大致如下: function SuperType() { ... 阅读全文
摘要:
一、prototype和__proto__的概念prototype是函数的一个属性(每个函数都有一个prototype属性),这个属性是一个指针,指向一个对象。它是显示修改对象的原型的属性。__proto__是一个对象拥有的内置属性(请注意:prototype是函数的内置属性,__proto__是对象的内置属性),是JS内部使用寻找原型链的属性。用chrome和FF都可以访问到对象的__proto__属性,IE不可以。二、new 的过程var Person = function(){};var p = new Person();new的过程拆分成以下三步:(1) var p={}; 也就是说, 阅读全文
摘要:
用户体验非常不错的五种分页插件效果,这是国外某网站首推的效果,给大家分享一下!在线演示与下载 阅读全文