javascript的prototype经典使用场景

prototype的经典使用场景就是为对象增加属性和方法,如给自定义的Man对象增加个姓名属性和语言方法:

 function man() {
        this.age = "22";
    }
    var tom = new man();
    man.prototype.name = "tom";
    man.prototype.say = function () {
        alert("english");
    };
    alert(tom.name);
    tom.say();

结果:弹出”tom”,弹出”english”

prototype同样可以作用于ECMAScript对象,如对字符串对象增加一个清除方法(这个方法可能没有使用场景..):

String.prototype.clean=function(){
        return "";
    };
    var str="三尺龙泉万卷书";
    alert(str.clean());

结果:弹出空白对话框

javascript的prototype经典使用场景

时间: 2024-08-09 18:10:38

javascript的prototype经典使用场景的相关文章

在 JavaScript 中 prototype 和 __proto__ 有什么区别

本文主要讲三个 问题 prototype 和 proto function 和 object new 到底发生了什么 prototype 和 proto 首先我们说下在 JS 中,常常让我们感到困惑的地方,就是 prototype 和 __proto__ 到底是干嘛的 1. __proto__ 就是 Javascript中 所谓的原型 (这里,我们还是拿具体的例子来说明吧) function A (name) { // 这里是一个构造函数 thia.name = name } var Aobj

javascript继承—prototype属性介绍(2)

js里每一个function都有一个prototype属性,而每一个实例都有constructor属性,并且每一个function的prototype都有一个constructor属性,这个属性会指向自身.这会形成一个非常有意思的链式结构.举例如下: function Person(){ this.name =12; } console.log(Person.prototype); console.log(Person.prototype.constructor);//输出Person,指向自身

javascript继承—prototype最优两种继承(空函数和循环拷贝)(3) - jssl915

一.利用空函数实现继承 参考了文章javascript继承-prototype属性介绍(2) 中叶小钗的评论指点,对这篇文章中的方案二利用一个空函数进行修改,可以解决创建子类对象时,父类实例化的过程中特权属性和特权方法,私有属性,私有方法的空耗资源问题. function Person(name,age){ this.name = name; this.age = age; } Person.prototype = { constructor:Person, sayHi:function(){

数据结构与算法JavaScript (五) 串(经典KMP算法)

数据结构与算法JavaScript (五) 串(经典KMP算法) KMP算法和BM算法 KMP是前缀匹配和BM后缀匹配的经典算法,看得出来前缀匹配和后缀匹配的区别就仅仅在于比较的顺序不同 前缀匹配是指:模式串和母串的比较从左到右,模式串的移动也是从 左到右 后缀匹配是指:模式串和母串的的比较从右到左,模式串的移动从左到右. 通过上一章显而易见BF算法也是属于前缀的算法,不过就非常霸蛮的逐个匹配的效率自然不用提了O(mn),网上蛋疼的KMP是讲解很多,基本都是走的高大上路线看的你也是一头雾水,我试

为什么要设置Javascript对象prototype的constructor

最近读了一篇关于Javascript面向对象编程的文章,里面介绍了Javascript中的类,对象,属性,方法,构造函数,继承,封装,抽象和多态性.读完之后感觉受益匪浅,对Javascript有了进一步的认识.文章的地址在这里. 在讲到继承的时候,文章里面用了如下的例子 // define the Person Class function Person() {} Person.prototype.walk = function(){ alert ('I am walking!'); }; Pe

State模式的经典应用场景:订单处理(c#实现)

State模式在对象内部状态发生变化的时候,改变自身的行为,这通常是通过切换内部状态对象实现的,对象将自身在各个状态的行为推给了状态对象,从而解开了行为与对象的依赖. 场景描述 在经典的订单处理场景中,订单其不同状态的时候变现了不同的行为,具体内容如下: 假如订单是一个新创建的订单,那么它可以被寄送,也可以被取消: 假如订单已经被寄送,那么它不可以被再次寄送,也不可以被取消: 假如订单已经被取消,那么它不可以被寄送,也不可以被取消. 上述内容中详细解释了订单状态和对应行为的关系. 遇到问题 对逻

关于Javascript的prototype

Javascript中的每个对象(object)都会有 prototype .试一下: var Richard = new Object(); alert(typeof(Richard.prototype)); 结果令人郁闷,浏览器弹出来的是 undefined-- 到底是怎么回事呢? 再看一个例子: function Richard(){} alert(typeof(Richard.prototype)); 上面的例子似乎说明,只有 function 对象才有 prototype, 而一般的

javascript Date.prototype

Date.prototype.format = function(format){ var o = { "M+" : this.getMonth()+1, //month "d+" : this.getDate(), //day "h+" : this.getHours(), //hour "m+" : this.getMinutes(), //minute "s+" : this.getSeconds()

【F3使用场景】F3经典使用场景

摘要: 概括F3经典使用场景 1. 人工智能深度学习客户,推理应用最近两年,人工智能在全球掀起了巨大的应用热潮,除了互联网巨头,如Google,Facebook,Alibaba之外,涌现出众多的Start up公司,也都逐渐成为行业翘楚.在人工智能技术方案选择上,GPU无疑是现阶段的首选,这其中的主要原因,一方面,GPU完善的生态,高并行度的计算力,很好地帮助客户完成了方案的实现和部署上线:另外一方面,人工智能发展,仍处于早期阶段,各个行业都在从算法层面尝试寻找商业落地的可能性,是一个从"0&q