首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

prototype.js的系列文章——关于prototype.js

很早就知道prototype.js是一个javascript的工具函数库,平时的开发中使用频率也非常的高,但是,由于工作时间问题,一直都没有静下心来研究学习一下,最近又萌发了系统学习prototype.js...关于prototype.js 如果你曾经使用过prototype.js,那么,本系列文章希望能够给你提供一个使用指南,可以作为prototype.js中函数的参考文档。...从名字上就能看出来,prototype.js是个js文件,对,它的确是个js文件,是个拥有四千多行代码的文件,对于javascript的初学着来说,要读懂它,太难了,就像普通百姓很难了解电视机的原理一样...prototype.js的作者是Sam Stephenson,对,是个老外,我不崇洋媚外,但我的确欣赏老外在技术领域的专注和细致,这里向他老人家致敬了。...系列文章列表(动态更新中) prototype.js的系列文章——$()函数 prototype.js的系列文章——$F()函数 发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn

72040
您找到你想要的搜索结果了吗?
是的
没有找到

JSprototype介绍

每个函数都有一个prototype属性,这个属性是指向一个对象的引用,这个对象称为原型对象,原型对象包含函数实例共享的方法和属性, 也就是说将函数用作构造函数调用(使用new操作符调用)的时候,新创建的对象会从原型对象上继承属性和方法...私有变量、函数 在具体说prototype前说几个相关的东东,可以更好的理解prototype的设计意图。...prototype 无论什么时候,只要创建了一个新函数,就会根据一组特定的规则为该函数创建一个prototype属性,默认情况下prototype属性会默认获得一个constructor(构造函数)属性...prototypeprototype对象,直到找到为止,如果递归到object仍然没有则返回错误。...同样道理如果在实例中定义如prototype同名的属性或函数,则会覆盖prototype的属性或函数。

86310

js-函数的prototype

js-函数的prototype 1、 函数的prototype属性 2、 给原型对象添加属性(一般都是方法) 3、 显式原型与隐式原型 1、 函数的prototype属性 每个 函数 都有一个prototype...(Date.prototype) //如图1所示 function fun(){ } console.log(fun.prototype) //默认指向一个object空对象(没有我们的属性.../ function fun(){ } fun.prototype.test = function(){ } console.log(fun.prototype) 原型对象中有一个属性...object空对象 */ function Fn(){ //内部语句:this.prototype = {} } console.log(Fn.prototype) /* 每个**实例对象...() 对象可以直接访问自己__proto__里面的属性和方法,本质上 对象的__proto__与其构造函数的prototype 指向的是同一个对象 内存结构 总结: (1)对象的prototype

64220

JavaScript继承背后的场景-prototype,__proto__, ]

继承是面向对象编程语言的一大核心功能点,虽然JavaScript并不是一门真正意义上的面向对象的编程语言,但也通过某种手段实现了继承这一功能,最常见的JavaScript继承是通过原型链去实现,这就涉及到了...如上图所示,理解JavaScript中的继承的关键是要理解母鸡如何产蛋的过程。 [[prototype]]、__proto__、prototype三者之间的联系 每个对象都可以有另一个对象作为其原型。...然后前一个对象继承了它的所有原型属性。对象通过内部属性[[Prototype]]指定其原型。由[[Prototype]]属性连接的对象链称为原型链。 ?...为了理解基于原型的继承是怎么样的,我们先来看一个例子。...如果woofie这个对象没有movie方法,它将通过原型链去寻找,就像任何原型继承场景一样,首先这个对象通过woofie.__proto__,它与Dog.prototype所指的对象相同。

60910

JS 继承

Component, // ... } // 使用 class index extends React.Component{ // ... } React github源码 面试官可以顺着这个问 JS...Child.sayHello(); // hello child.sayName(); // my name is Child child.sayAge(); // my age is 18 如果对JS...推荐阅读JS继承相关的书籍章节 《JavaScript高级程序设计第3版》第6章——面向对象的程序设计 6种继承的方案,分别是原型链继承、借用构造函数继承、组合继承、原型式继承、寄生式继承、寄生组合式继承...上卷第6章——行为委托和附录A(ES6中的class) 总结 继承对于JS来说就是父类拥有的方法和属性、静态方法等,子类也要拥有。...回顾寄生组合式继承,主要就是三点: 子类构造函数的 proto指向父类构造器,继承父类的静态方法 子类构造函数的 prototype的 proto指向父类构造器的 prototype继承父类的方法。

2.8K32

js中的prototype的解析

js的方法可以分为三种:对象方法、类方法、prototype方法 //对象方法 function People(name){ this.name=name; this.introduct=function...=function(){ alert(“我的名字是”+this.name); } 这里要注意类方法只能通过类名.方法名调用,实例方法只能通过实例名.方法名调用,反之不可以 还有prototype...是类的属性,new出来的对象是没有这个属性的,比如People.prototype可以,var p=new People(); p.prototype不可以 function Aclass2(){...this.property=1; this.method=function(){ alert(1); } } 子类重写父类的属性和方法,要注意不能修改父类的属性和方法,可以这样写Aclass2.prototype...=new Aclass(); 把父类的一个实例对象赋值给子类的prototype属性,我们调用实例对象的时候,首先会调用构造函数的属性和方法,然后是 prototype中写的和父类的属性和方法 发布者

69020

JS进阶:继承

在理解继承之前,需要知道 js 的三个东西: 什么是 JS 原型链 this 的值到底是什么 JS 的new 到底是干什么的 一、什么是 JS 原型链 我们知道 JS 有对象,比如 var obj =...如果你的函数调用不是 call 形式, 请将其转换为 call 形式 三、JS 的 new 到底是干什么的?...缺点: 只能继承父类的实例属性和方法,不能继承原型属性/方法 无法实现复用,每个子类都有父类实例函数的副本,影响性能 3、组合继承 组合上述两种方法就是组合继承。...SuperType.call(this, name); this.age = age; } // 继承方法 // 构建原型链 // 第一次调用SuperType() SubType.prototype...无法传递参数 6、寄生组合式继承 结合借用构造函数传递参数和寄生模式实现继承 function inheritPrototype(subType, superType){ var prototype

4.4K10

JavaScript难点:原型、原型链、继承、new、prototype和constructor

原型 原型(prototype)是 JavaScript 中对象的一个特殊属性,它用于实现属性和方法的继承。...继承 JavaScript 不像 Java、C++ 这种纯面向对象的语言,可以通过类实现继承,JavaScript中的继承是通过原型实现的,即使 ES6 中新增的 class 类也只是原型的语法糖而已。...为什么通过 prototype 修改原型实现继承后要重置 custructor?...我们可以通过将一个构造函数的 prototype 指向另一个构造函数来实现继承父类的属性和方法,但是往往还会额外加一个 Child.prototype.constructor = Child,这是因为直接通过...其实这一点对于我们正常使用、实例化对象、继承都是没啥影响的,不过建议是按照规范重置成正确的。

8710

js实现继承

js实现继承 经典继承(原型链) 缺点:过多的继承了没用的属性 Grandfather.prototype.lastName = 'zhang' function Grandfather() {...,造成了son既会继承grandfather自神的东西,grandfather的原型的东西,father自身的东西和father原型上的东西,造成了不必要的继承 共享原型 本质:重写原型对象 优点:只会继承父的原型...,不会继承父原本自带的属性或方法(只有调用new Father()才会继承自身的东西) 缺点:给本身的原型添加属性或方法时,会把继承的那个原型也修改了 Father.prototype.lastName...) 雏形 本质:重写原型对象 优点:只会继承父的原型,不会继承父原本自带的属性或方法(只有调用new Father()才会继承自身的东西) 缺点:1,这样继承后即使修改了son的原型也不会修改father...__proto__获取father的原型进行修改而Son.prototype.food,只是在改变father实例 改进 原理:使用一个F构造函数当中间层,F的原型继承父构造函数的原型,然后子的原型指向

5.3K20

【专业技术】关于JSprototype

这就是prototype的功劳了,uw3c中prototype属性中的name对象,在uw3c被new构造函数之后,被继承到了对象test的属性中。...在uw3c的prototype对象中出现的任何属性或者函数都可以在test对象中直接使用,这个就是JS中的原型继承了。...prototype继承还是克隆: 看了上面的,有些人可能会认为构造一个函数是复制了原函数的prototype的属性,在这里大家注意一下,是继承不是复制,请看下方的代码: function uw3c()...);//"b" 如果是克隆应该能打印出test的一个属性name,但是并没有,可是却能打印出test.name,所以是test继承了uw3c.prototype的属性。...uw3c("js");//姓名:js,年龄:15,性别:man 看完这个例子大家应该明白了,使用prototype既能保留公有性,又能具有私有性。

1.1K60
领券