js面向对象中内置对象的详解(代码)
本篇文章给大家带来的内容是关于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='red'>"+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:'Marvin',age:20} } }; myclass.getAllPersonNumbers.call(student) //call的用法:借用(传参) var myclass={getAllPersonNumbers:function(){return 33}}; var student={ getDetail:function(){ return {name:'Marvin',age:20} } }; myclass.getAllPersonNumbers.call(student,20) //call 的用法伪数组(将伪数组改为真 的数组) var json = {1:'',2:'',length:2}
call方法会修改this的指针,在call后改变被借用的函数的this指针指向自身。
//call将指向全局的this的指针指向了自身student myclass.getAllPersonNumbers.call(student,20)
伪数组:获取到的dom就是一个伪数组,jquery获取到的也是一个伪数组
var ss = {0: 'Marvin', 1: 'lili'}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面向对象中内置对象的详解(代码)的详细内容,更多请关注其它相关文章!