• js


    原型

     原型对象
       在JavaScript 中,每当定义一个对象(函数)时候,对象中都会包含一些预定义的属性。其中函数对象的一个属性就是原型对象 prototype。注:普通对象没有prototype,但有__proto__属性。
      原型对象其实就是普通对象(Function.prototype除外,它是函数对象,但它很特殊,他没有prototype属性(前面说道函数对象都有prototype属性))。看下面的例子:
     function f1(){};
      console.log(f1.prototype) //f1{}
      console.log(typeof f1. prototype) //Object
      console.log(typeof Function.prototype) // Function,这个特殊
     console.log(typeof Object.prototype) // Object
      console.log(typeof Function.prototype.prototype) //undefined
      从这句console.log(f1.prototype) //f1 {} 的输出就结果可以看出,f1.prototype就是f1的一个实例对象。就是在f1创建的时候,创建了一个它的实例对象并赋值给它的prototype,基本过程如下:
     var temp = new f1();
      f1. prototype = temp;
       所以,Function.prototype为什么是函数对象就迎刃而解了,上文提到凡是new Function ()产生的对象都是函数对象,所以temp1是函数对象。
     var temp1 = new Function ();
      Function.prototype = temp1;
    那原型对象是用来做什么的呢?主要作用是用于继承。举了例子:
      var person = function(name){
        this.name = name
       };
       person.prototype.getName = function(){
          return this.name;
       }
       var zjh = new person(‘zhangjiahao’);
       zjh.getName(); //zhangjiahao
        从这个例子可以看出,通过给person.prototype设置了一个函数对象的属性,那有person实例(例中:zjh)出来的普通对象就继承了这个属性。具体是怎么实现的继承,就要讲到下面的原型链了。

    concat()方法用于连接两个或多个数组。
    every() 方法用于检测数组所有元素是否都符合指定条件(通过函数提供)。
    find() 方法获得当前元素集合中每个元素的后代,通过选择器、jQuery 对象或元素来筛选。
    indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置。
    forEach() 方法用于调用数组的每个元素,并将元素传递给回调函数。
    reverse() 方法用于颠倒数组中元素的顺序。
    join() 方法用于把数组中的所有元素转换一个字符串。
    pop() 方法用于删除数组的最后一个元素并返回删除的元素。
    push() 方法可向数组的末尾添加一个或多个元素,并返回新的长度。
    shift() 方法用于把数组的第一个元素从其中删除,并返回第一个元素的值。
    slice() 方法可从已有的数组中返回选定的元素、可提取字符串的某个部分,并以新的字符串返回被提取的部分。
    toLocaleString() 方法可根据本地时间把 Date 对象转换为字符串,并返回结果
    splice() 方法用于插入、删除或替换数组的元素。
    unshift() 方法可向数组的开头添加一个或更多元素,并返回新的长度。

  • 相关阅读:
    P2764 最小路径覆盖问题
    P1402 酒店之王 网络流
    P2597 [ZJOI2012]灾难 拓扑排序
    FJOI2017 矩阵填数
    2019.2.27模拟
    2019.2.26模拟
    SDOI2013 方程
    [AH2017/HNOI2017]抛硬币
    Lucas定理和扩展Lucas定理
    LuoguP4861 按钮
  • 原文地址:https://www.cnblogs.com/lzy666/p/7003595.html
Copyright © 2020-2023  润新知