js内置对象

js内置对象

                        js三大部分:ECMAScript、DOM、BOM
             
                        常见js内置对象:布尔对象
                                         日期对象
                                           数学对象
                                             字符串对象
                                               数组对象
									             数值对象
一、布尔对象
 创建布尔对象与转换布尔值
	布尔对象的属性 : constructor(返回对创建此对象的Boolean函数的引用)
	使用“new Boolean()”构造函数将参数转换成一个布尔值,并创建一个布尔对象,
	而使用“Boolean()”转变函数只是将一个值转换成布尔类型的数据。
二、日期对象
   日期对象方法:
		 getFullYear()		//返回年份,4位数,建议使用
		 getMonth()		    //返回月份,其值范围为0~11
		 getDate()		    //返回日期对象中的一个月中的第几天
		 getDay()		    //返回星期中的某一天,0~6
		 getHours()		    //返回日期对象中的小时部分
		 getMinutes()		//返回日期对象中的分钟部分
		 getSeconds()		//返回日期对象中的秒钟部分
		 getMilliseconds()	//返回日期对象中的毫秒部分
		 getTime()		    //返回日期对象中的时间戳的毫秒数
		 getTimezoneOffset()	//返回日期对象中的时区的时差数,单位是分
三、数学对象

数学对象:数学对象主要作用是为数学计算提供常量和计算函数

  1.在实现某个业务时经常用到
  2.如果给数学对象API传入非number的数据,先将数据转化为number类型在计算
  3.常用的API:
     - Math.abs():      求绝对值
     - Math.random():   求0-1之间的随机数(包括0包括1)
     - Math.floor():    向下取整
     - Math.ceil():     向上取整
     - Math.round():    四折五入
     - Math.max():      求一组数据中的最大值
     - Math.min():      求一组数据中的最小值

数学对象中api参数的特点:

    传入非number的数据,先将数据转化为number类型在计算

数学对象的属性:

	    Math.E:			//自然对数的底数(e)
		Math.LN10:		//loge10
		Math.LN2:		//loge2
		Math.LOG10E:		//log10e
		Math.LOG2E:		//log2e
		Math.PI:		//3.1415926
		Math.SQRT1_2:	//2的平方根的倒数
		Math.SQRT2:		//2的平方根
		Math.abs():				//绝对值
		Math.ceil():				//进一取整
		Math.floor():				//退一取整
		Math.max(num1,num2….):		//取最大值
		Math.min():				//取最小值
		Math.pow(x,y):				//返回x的y次幂
		Math.random():			//0.0~1.0之间的随机数,包括0不包括1
		Math.round():				//四舍五入
		Math.sqrt():				//平方根			
    eg:方法作用: 求两个任意数据之间的随机整数 
	       1: 完成任务可变的量是任意的两个数 ;最大数 最小数;作为形成那
	       2: 方法体完成逻辑对形参进行操作
	       3: 返回结果 
	    function random (min,max){
	    var min = min 
	    var max = max 
	    var res = Math.floor(Math.random()*(max-min+1)+min)
	    return res
	    }
四、字符串对象

注:字符串对象本身就是字符串,只不过是以对象的形式展示

   1.创建方式  new String(字符串)
   2.字符串对象是有序的。  有索引值,从0开始
   3.length表示字符串的长度
   4.获取字符的方式:字符对象[索引值index]
   5.所有对对象或者数组中数据的操作,必须先获取在操作
   6.注意:字符串对象的改变不能直接通过获取重新赋值形式进行改变;字符串对象中的api可以操作字符串对象。

字符串对象方法:

(一)indexOf()
		 * 作用:返回子字符abc在字符串中第一次出现的位置
		 * 子字符:在字符串中必须是连贯的
		 * 注意:1.如果参数不是字符串的子字符,返回-1
		 *        返回-1的可能:1> 字符不连贯,
		 *                     2>不存在某个字符
		 
(二)lastIndexOf()
		 * 作用:返回子字符abc在字符串中最后一次出现的位置
		 * 注意:参数   非字符串子字符的都是-1
		 *      返回-1的可能:1>字符不连贯,
		 *                   2>不存在某个字符
		 
(三)字符串大小写转化
         * toUpperCase()          将字符串转换为大写
		 * toLocaleLowerCase()    将字符串转换为小写
		 
		 * 注意:以上两个方法,只看字符大小写,不看字符内容
		 
(四)截取字符串片段:
    substr(startindex,length) 
        * 作用:截取字符串片段;返回一个子字符
		* starindex 表示从哪个索引值开始;会获取索引所对应的字符
		* length 截取的子字符最大长度 
		* 注意: 从索引值开始截取的子字符长度不够;有多少截取多少
		
	substring(startindex,endindex) 
	    *作用:截取字符串片段;返回一个子字符
		* starindex:从第几个索引开会时
		* endindex:到第几个索引结束
		* 注:1>endindex 大于最大索引值;子字符到最大索引为止,有多少截取多少
              2>endindex截取的子字符中不包含endindex索引值所对应的字符
              
		* 截取子字符长度:endindex - startindex  (endindex不大于最大索引值)
		
(五)截取字符串中片段:
    slice()方法:截取字符串中片段,返回一个新的子字符串
		* slice(start,end)
		    start :表示索引从字符串中第几个位置开始,包含本身
		    end :表示到第几个位置结束;不包含本身
		
		* 注意:不传值:从头到尾全部返回;
		               传一个值:表示从第几个位置开始,到某尾结束。
		
(六)替换字符串
    replace()方法:
		 * 作用:1>替换字符串做作用,并返回一个行的字符串。
		 *       2>拼配字符串作用 —— 正则
		 *  replace(表达式,替换的字符串)  //替换一个与正则表达式相匹配的子串 ****
		                参一:被替换的字符(oldStr)    
		                参二:替换的字符(newStr)
		 * 形式看上去不像一个对象的形式。
		 
(七)切割字符串
     使用方法一:
		 * split(正则表达式,数组最大长度)  //用于把一个字符串分割成字符串的数组
	 使用方法二:
		* split(str,len) 方法作用;将字符串切割;返回一个数组;
		* str: 从哪一个字符串开始截取数据,被截的字符串是不会存在数组中的。
               eg:如果str = o 并且字符串中有o这个字符;截取结果;将不会看到o这个字符
		* len 返回数组最大的长度。默认长度为1 
		
		* 注意:len如果不传值,那么为最大长度
		* 一般:可以以空格截取;空串""截取(结果是截取字符串中每一个字符)
		
	eg:var str = 'hellowworl'
		var arr = str.split('o')
		console.log(arr)          
		/**输出结果
		 * ["hell", "ww", "rl"]
		 * 0: "hell"
		 * 1: "ww"
		 * 2: "rl"
		 * length: 3
		 */	
	
(八)其他
    1>match(正则) 返回数组,数组中为匹配到的所有子字符	    
        eg:var str = 'sggsgggshgdshfsgfgfsd14545259523259我会的回复你差不多254545689jshdjfhgdhgfg'
		        //匹配a-z (26个小写英文字母)  字符长度为3-5的,且全局匹配
		    var reg = /[a-z]{3,5}/g     //g : 全局匹配
		    var reg1 = /[0-9]{3}/
		    var res = str.match(reg)
		    var res1 = str.match(reg1)
		    console.log(res)
		    console.log(res1)
		
    2>search(regexp)    //查找与正则表达式相匹配的子字符串
    
    3>charAt(index)  截取对应子字符        
        eg:var str = '啦啦啦啦'
		   var res = str.charAt(0)     //charAt(0) === window.charAt 
		   console.log(res)
五、数组对象
数组:是复合类型数据
  * 1.数组是有序的
  * 2.数组的索引值是从0开始 id
  * 3.数组中可以存放任意数据类型的
  * 4. 数组中获取数据:array[index]
  
  * 注意:数组中数据不能够直接改变、添加、删除,需要通过数组中的api来完成
	      数组一旦被定义就不能被删除
			 
(一)删除数组中数据
    1>delete方法
     * 注:delete是运算符
     * 数组元素一旦被定义就不能被删除。
	 * 使用delete运算符只能删除数组元素的值,使其恢复到未赋值的状态,即元素值为undefined,
	 * 而不能删除一个数组元素,不能让数组中的元素减少一个。 
	
	2>shift()方法
	  shift()  删除第一个元素,并返回一个删除的元素 
	      eg:var arr = [1,2,3,4,'aaa',{}]
		      var res = arr.shift()
		      console.log(arr)
    
    3>pop()方法
      pop()	 删除最后一个元素,并返回删除的元素
          eg:var arr1 = [1,2,3,4,'aaa',{}]
		      var res1 = arr1.pop()
		      console.log(arr1,res1)
		      
    * 注意:以上(2)和(3)中,原来的数组都发生了变化,以上两个方法都不需要参数

(二)数组变字符串
    1>toString()	将数组转换为字符串,返回转化成的字符串
    2>join()	将数组元素连接成字符串,返回连接成的字符串
    
        注:split()  使用其分隔,返回一个新数组,只是内容一样
                
        总结:1>数组变字符串:toString()转化为字符串  
		                   join()连接成字符串
		     2>字符串变数组:split()
		  
(三)数组中添加数据

      数组中添加数据方式:
		unshift()  从头添加;返回长度;原来数组发生变化
		push()     从尾添加;返回长度;原来数组发生变化
		concat()   从尾添加;返回新数组;原来数组没发生变化  (真正发生改变的,不是原来的数组,而是新数组)
		
(四)splice()方法
       1.删除
        splice(index,num) : 删除,返回当前被删除元素组成的新数组
          参数一:表示从第几个索引开始
          参数二:删除num个数据

       2.替换
        splice(index,num,res) : 替换,返回被替换的元素组成的新数组
          参数一:表示从第几个索引开始
          参数二:替换几个元素
          参数三:要将其替换的数据
      
       3.插入
        splice(index,num,res) : 插入,返回插入后的数组
          参数一:表示从第几个索引开始 (索引值是几就在哪插)
          参数二:删除几个元素 
          参数三:要插入的元素
		
		*注意:传入一个参数,从第几个索引开始,往后的所有数据全部删除(包含自己)
		
(五)slice()方法
    slice(starindex,endindex):返回数组中的一部分
		 *starindex:从第几个索引值开始(包含自己)
		   【如果该starindex为负数,则表示从原数组中的倒数第几个元素开始提取,
		     slice(-2)表示提取原数组中的倒数第二个元素到最后一个元素(包含最后一个元素)】
		 *endindex:到第几个索引值结束(不包含自己)
		 
		 * 注意:原来的数组没有发生变化
		 * 截取的顺序都是从0开始的 (从左往右),不可能从索引值点到截取
		 
(六)reverse()方法
    reverse():颠倒数组中的元素,返回原来的数组

	   * 注意:原来数组发生变化
	   * 用途:可以用于排序     
		 
(七)排序
    sort():将数组元素排序
		Sort()方法默认按照ASCII码排序 j解析凡是;按照数组中数据先转化为字符串,
		然后再转化为ASCI码值然后再进行比较.(重点:原理)
六、数值对象

创建数值对象:

 var num = new Number()

Number() 的作用:

创建数值对象,将其他类型的数据转化为数值型

Number() 转化的规则:

1)如果是布尔值,true和false将分别转换为1和0
2)如果是数字值,只是简单的传入和返回
3)如果是null,返回0
4)如果undefined,返回NaN 

parseInt() 转化的规则

1)忽略字符串前面的空格,直到找到第一个非空格字符
2)如果第一个字符不是数字或者是符号,返回NaN
3)空字符串,返回NaN
4)如果第一个字符是数字,会继续解析第二个字符,直到解析完所有后续字符或遇到了一个非数字字符。
5)如果字符串以0x开头且后面跟数字字符,就会将其转为10进制数,同样,八进制也一样。

ParseFloat() 转化的规则

1)第一个小数点是有效的,第二个小数点无效
2)始终忽略前面的0,不分进制数
3)十六进制会被转换成0
4)空字符串转换为NaN
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值