Heim  >  Artikel  >  Web-Frontend  >  Detaillierte Erläuterung der integrierten Objekte in js objektorientiert (Code)

Detaillierte Erläuterung der integrierten Objekte in js objektorientiert (Code)

不言
不言Original
2018-09-08 16:12:081160Durchsuche

本篇文章给大家带来的内容是关于js面向对象中内置对象的详解(代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

方法

String

  • 获取字符串长度Length属性

  • 连接字符串:concat(String, String)

  • 获取索引值:indexOf(String)

  • 根据索引值获取单个字符:charAt(Index)

  • 从起始索引fromIndex开始截取长度length的字符串:substr(fromIndex,length)

  • 截取 起始索引startIndex  到  结束索引endIndex的子字符串,结果包含startIndex处的字符,不包含endIndex处的字符:substring(startIndex,endIndex)/slice(startIndex,endIndex)

  • 按给定字符串分割,返回分割后的多个字符串组成的字符串数组:split(String)

  • 使用选择的分隔符将一个数组合并为一个字符串:join(String)

  • 大小写转换:toLowerCase()/toUpperCase()

  • replace

  • 判断是否包含指定字符串:contains(String)

  • 判断是否为空:isEmpty()

  • html编码和解码:escapeHTML() unescapeHTML()
    replace的用法:

//$符的使用
myString=myString.replace(/(Marvin)/g,"<font color=red>$1</font>");
//函数
function test(str){
    return "<font color=&#39;red&#39;>"+str+"</font>"}
myString=myString.replace(/(Marvin)/g,test);

Array

  • 添加和删除:shift unshift【从数组开头开始添加或者删除】,pop push【从数组末尾添加或者删除】

  • 数组合并,参数添加到原数组中,返回新的数组:concat()

  • 排序: sort() 从小到大 reverse() 从大到小

  • 数组截取: slice(start,end)

  • 数组拼接成字符串:join(separator)

  • splice()

Date

date = new Date(2015, 2, 27, 12, 59, 59);
- date.toLocaleString(): 2015年3月27日 12:59:59
- date.toLocaleString(): 2015年3月27日 12:59:00
- date.toLocaleString(): 2015年3月27日 12:00:00
- date.toLocaleString(): 2015年3月27日 12:00:00
- date.toLocaleString(): 2015年3月27日 12:00:00

date = new Date(“month dd,yyyy hh:mm:ss”):date = new Date(‘2014-12-25’)

  • getFullYear()

  • getYear()

  • getMonth()

  • getDate(): 获取几号   - 0 - 31 比如25

  • getDay(): 获取星期几 - 比如星期3的3

  • getHours()

  • getMinutes()

  • getSeconds()

  • getMilliseconds()

  • getTime(): 获取相对于1970-01-01的毫秒值

Function

  • Arguments

  • Length

  • Caller属性 获取调用当前函数的函数。caller属性只有当函数正在执行时才被定义

  • Callee属性 返回正被执行的 Function 对象,即指定的 Function 对象的正文

  • constructor 属性  就是用来构造对象实例的函数引用。

  • Prototype属性获取对象的原型。每一个构造函数都有一个prototype属性,指向另一个对象。这个对象的所有属性和方法,都会被构造函数的实例继承。这意味着,我们可以把那些不变的属性和方法,直接定义在prototype对象上。

  • Apply方法  调用函数,并用指定对象替换函数的this值,同时用指定数组替换函数的参数。

  • Call方法  调用一个对象的方法,用另一个对象替换当前对象。

  • Bind方法  对于给定函数,创建具有与原始函数相同的主体的绑定函数。

  • toString  返回对象的字符串表示形式。

call::借用,伪数组

//call的用法:借用()
var myclass={getAllPersonNumbers:function(age){return age}};
var student={
      getDetail:function(){
          return {name:&#39;Marvin&#39;,age:20}
      }
  };
myclass.getAllPersonNumbers.call(student)
//call的用法:借用(传参)
var myclass={getAllPersonNumbers:function(){return 33}};
var student={
      getDetail:function(){
          return {name:&#39;Marvin&#39;,age:20}
      }
  };
myclass.getAllPersonNumbers.call(student,20)
//call 的用法伪数组(将伪数组改为真 的数组)
var json = {1:&#39;&#39;,2:&#39;&#39;,length:2}
  • call方法会修改this的指针,在call后改变被借用的函数的this指针指向自身。

//call将指向全局的this的指针指向了自身student
myclass.getAllPersonNumbers.call(student,20)
  • 伪数组:获取到的dom就是一个伪数组,jquery获取到的也是一个伪数组

var ss = {0: &#39;Marvin&#39;, 1: &#39;lili&#39;}Array.prototype.slice.call(ss)/
/能将具有length属性的对象转成数组
=> [Marvin , lili]

apply:

//循环式获取最大值
function getMax(arr){
    var arrLen=arr.length;    
    for(var i=0,ret=arr[0];i<arrLen;i++){
        ret=Math.max(ret,arr[i]);
    }return ret;
}
//max()只能传递离散的数值
//获取数组中的最大值
myclass.getAllStudentsNumbers.apply(student,[10,200])return 
Math.max.call(null,1,2,3,4,5) === return Math.max.apply(null,arr);
//合并数组
Array.prototype.push.apply(arr1,arr2)

相关推荐:

JS中的内置对象Array详解

Detaillierte Erläuterung des in JS integrierten Objekts String

Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der integrierten Objekte in js objektorientiert (Code). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn