JavaScript之面向对象学习五(JS原生引用类型Array、Object、String等等)的原型对象介绍

1、原型模式的重要性不仅仅体现在创建自定义类型方面,就连所有的原生的引用类型(Obejct、Array、String等等)都在构造函数的原型上定义方法和属性。如下代码可以证明:

    alert(typeof Array.prototype.sort); 
    //输出:function
    alert(typeof String.prototype.substring); 
    //输出:function

通过原生对象的原型,不仅可以取得所有默认方法的引用,而且可以定义新的方法。可以想修改自己定义对象的原型一样修改原生对象的原型,因此可以随时给原生对象添加我们需要的方法。代码如下:

    String.prototype.startsWith=function(txt){
      return this.indexOf(txt)==0;
    }
    var msg="Hello World!";
    alert(msg.startsWith("Hello")); 
    //输出:true,说明msg是以"Hello"单词开头的

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Petrichor的专栏

python: 多属性排序

11520
来自专栏海天一树

小朋友学C语言(13):逻辑运算符

逻辑运算符有三种,“&&”(逻辑与)、“||”(逻辑或)和“!”(逻辑非) (一)逻辑与&& “&&”相当于生活中说的“并且”,就是两个条件都同时成立的情况下“...

379140
来自专栏从零开始学 Web 前端

*(int*)&p

分析: void(p)(); 这行代码定义了一个指针变量p,p指向一个函数。这个函数的参数和返回值都为void。 &p是求指针变量p本身的地址。 ...

61120
来自专栏java、Spring、技术分享

java字节码

  我们都知道Java字节码是JVM所使用的指令集。java字节码可以分为如下几类:

39220
来自专栏GreenLeaves

JS框架设计之对象扩展一种子模块

对象扩展 说完了,对象的创建(框架的命名空间的创建)以及如何解决多库之间的命名空间冲突问题之后,接下来,就是要扩展我们的对象,来对框架进行扩展,我们需要一种新功...

24190
来自专栏大闲人柴毛毛

Redis源码分析(四)——Redis数据结构-整数集合

1. 整数集合特点 有序:集合中所有值按照从小到大顺序排列。 不重复 可以存储int16_t、int32_t、int64_t三种类型的整数 1. 数据结构 t...

39870
来自专栏人工智能LeadAI

Python中defaultdict用法

defaultdict类的初始化函数接受一个类型作为参数,当所访问的键不存在的时候,可以实例化一个值作为默认值

11340
来自专栏流媒体

C++继承

class A中有x ;class B集成A,同时也有x。则b.x访问的是B中的x。如果要访问A中的x,则用b.A::x。

11140
来自专栏领域驱动设计DDD实战进阶

04-TypeScript中的方法新功能(上)

在TypeScript中,提供了一些函数的新功能,能够简化JavaScript中的一些比较复杂代码才能实现的一些能力。 在C#后端语言中,能够对方法传递的参数指...

28540
来自专栏大闲人柴毛毛

Java基础深入解析——类与对象

成员变量与局部变量的区别 1.成员变量定义在类中,整个类中都能够访问。   局部变量定义在局部代码块中,只能在局部代码块中访问。 2.成员变量存在于堆内存中,有...

33770

扫码关注云+社区

领取腾讯云代金券