// 创建一个Dog构造函数function Dog(name, age) { // ①this.name = namethis.age = age }Dog.prototype.eat = function() { // ②console.log(‘肉骨头真好吃‘) }// 使用Dog构造函数创建dog实例 const dog = new Dog(‘旺财‘, 3) 图by 修言dog.__proto__和Dog.prototype 均指向function Dog,也就是①原文:https://www.cnblogs.com/ww01/p/12098398.html
prototype作用:获取调用对象的对象原型引用应用:可以为某对象原型添加方法例:function getMax() {var max = this[0];for(var x=0; x<this.length; x++){if(this[x] > max)max = this[x];}return max; } Array.prototype.getMax = getMax;//以后数组使用获取最大值的方法就可以如下调用,例如arr是以个整数数组 arr.getMax();//OK 原文:http://www.cnblogs.com/fantasy01/p/4072581.html
thisthis表示当前对象,如果在全局作用范围内使用this,则指代当前页面对象window; 如果在函数中使用this,则this指代什么是根据运行时此函数在什么对象上被调用。 我们还可以使用apply和call两个全局方法来改变函数中this的具体指向。先看一个在全局作用范围内使用this的例子: <script type="text/javascript">console.log(this === window); // trueconsole.log(window.alert === this.alert); // trueconsole.log(th...
本文基于下面几个知识点: 1.在.Net中可以使用clone()来实现原型法原型法的主要思想是,现在有1个类A,我想要创建一个类B,这个类是以A为原型的,并且能进行扩展。我们称B的原型为A。 2.javascript的方法可以分为三类: a 类方法 b 对象方法 c 原型方法 例子:functionPeople(name) {this.name=name;//对象方法this.Introduce=function(){alert("My name is "+this.name);} } //类方法 People.Run=function(){alert("I can run"); ...
原博地址:http://www.cnblogs.com/dolphinX/p/3286177.html原博客的作者是一个非常牛逼的前端大神,我作为一个初学者,在此借助大神的博客进行自己的学习。在这里感谢原作者无私的分享。也强烈建议大家到原作者的博客下学习。好了,现在让我们跟着大神的脚步前进吧。用过JavaScript的人肯定都对prototype如雷贯耳,但是这究竟是个什么东西却让初学者莫衷一是,只知道函数都有一个prototype属性,可以为其添加函数供实例访问,其他的...
[ 作者:byeyear Email:east3@163.com 转载请注明 ]古希腊有哲学家认为,在那遥远的虚无之处,人类目光所不能及的地方,有一匹原型马,世间万马皆依此而生。我们有构造函数horse()用于从原型马构造一匹我们能看到、触摸到、骑到的马:function horse() {this.color = ‘red‘;this.height = 80;this.length = 160; }// Now, if you want, you can construct your own horse.// var myHorse = new horse();可以从该构造函数访...
用过JavaScript的同学们肯定都对prototype如雷贯耳,但是这究竟是个什么东西却让初学者莫衷一是,只知道函数都会有一个prototype属性,可以为其添加函数供实例访问,其它的就不清楚了,最近看了一些 JavaScript高级程序设计,终于揭开了其神秘面纱。每个函数都有一个prototype属性,这个属性是指向一个对象的引用,这个对象称为原型对象,原型对象包含函数实例共享的方法和属性,也就是说将函数用作构造函数调用(使用new操作符调用...
最近在自学JS 发现了一个不错的BLOG 里面对JS的语法讲解的比较透彻 适合新入门的选手研究一番https://bonsaiden.github.io/JavaScript-Garden原型JavaScript 不包含传统的类继承模型,而是使用 prototype 原型模型。虽然这经常被当作是 JavaScript 的缺点被提及,其实基于原型的继承模型比传统的类继承还要强大。 实现传统的类继承模型是很简单,但是实现 JavaScript 中的原型继承则要困难的多。 (It is for example fairly trivia...
我们都有一个误区,就是认为形成 Javascript 对象的prototype chain 的 prototype 就是一个名字为 prototype 的属性,而且是可以访问的。其实,Javascript 的 prototype 和 名字为 prototype 的属性在一开始一点儿关系都没有,是两个不同的事物。 var Richard = new Object(); alert(typeof(Richard.prototype)); //undefinedvar Richard = new Object(); alert(Richard.__proto__); //[object Object]对于一般对象来说,我们只能...
1 <!doctype html>2 <html lang="en">3 <head>4 <meta charset="UTF-8">5 <title>Document</title>6 <script type="text/javascript">7/* 8 每个函数都有一个prototype属性,这个属性是指向一个对象的引用,这个对象称为原型对象,原型对象包含函数实例共享的方法和属性,也就是说将函数用作构造函数调用(使用new操作符调用)的时候,新创建的对象会从原型对象上继承属性和方法。9*/10function employee(n...
日常只是使用,对于__proto__,prototype,construct属性知道的总是解释不太清楚,有点糊里糊涂,一知半解,今天理理清楚。js中使用的对象,有函数对象,声明对象,实例化对象。例子代码:funtion Person(){ };var p=new Person();1.__proto__和construction是对象所具有的属性,2.prototype是函数所具有的属性,是实例化对象所共有的属性和方法的对象,是实例化对象所共享的对象。因为函数也是一种对象,所以函数也具有__proto_...
http://www.jb51.net/article/25027.htmhttp://blog.csdn.net/chunqiuwei/article/details/22092551http://developer.51cto.com/art/200907/134913.htm 总结:特别说明:只有构造函数才有prototype属性,而构造函数的实例是没有该属性的,也就是说 console.log(a1.prototype)输出的是undefined。在javascript中,每个函数都自动有一个prototype属 性,而不是每一个对象拥有prototype属性 原型属性与实例对象的创建与否没有关系,它...
1. 1// Function.prototype.bind() 的作用 2 3// 1.Creating a bound function 4this.x = 9; 5var module = {6 x: 81,7 getX: function() { returnthis.x; }8 };9 10 console.log(module.getX()); // 81 11 12var retrieveX = module.getX;13 console.log(retrieveX()); 14// 9, because in this case, "this" refers 15// to the global object 16 17// Create a new function with ‘this‘ bound to ...
接上一讲,prototype可以用于动态增强对象,那么有些js的原生类,没有提供我们想要的功能的时候,我们就可以用prototype对其增强。下面是一些具体的案例,希望大家能举一反三:<pre name="code" class="javascript">//检测指定元素是否在数组中 Array.prototype.contains=function(e){for(i in this){if(this[i]===e)return true; }return false; }; //测一测 alert(new Array('a','b').contains('a')); var arr = ['red','yellow'...
1、prototype 在JavaScript中并没有类的概念,但JavaScript中的确可以实现重载,多态,继承。这些实现其实方法都可以用JavaScript中的引用和变量作用域结合prototype来解释。 2、Simple Examplevar Blog = function( name, url ){this.name = name;this.url = url; }; Blog.prototype.jumpurl = ‘‘; Blog.prototype.jump = function(){window.location = this.jumpurl; }; /**等同于 Blog.prototype = {jumpurl : ‘‘,jump : fu...