javaScript面向对象的程序设计(七)——内置对象

概述

  • String
  • Date
  • Math
  • Array
  • RegExp
  • Number
  • Object
  • Function
  • Null
  • Boolean
  • Error
  • cookie
  • session

方法

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)
Error
Math
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值