欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

JS内置对象

程序员文章站 2024-03-26 10:05:53
...
  1. Array数组
    var colors=new Array(3);
    var num=new Array(1,2,3);
    var co=["red",6,true];
    colors[0]="red";
    console.log(colors[6]);	//undefined
    num.length=2;	//保留前两个
    num[99]="red";
    console.log(num.length);//100
    //push加入尾部 unshift加入前面 语法一样 返回加入后数组新长度
    var len =num.push("blue","green");//加入到末尾
    console.log(len);//加入后数组的长度
    //pop删除尾部 shift删除第一个 返回新长度
    
    //join 把数组所有元素放入一个字符串 返回字符串
    var num=[1,2,4];
    var str="start";
    var nstr=num.join();
    console.log(nstr);	//1,2,4 有逗号
    typeof(nstr);	//string
    var words=["bo","mo"];
    var nwords=words.join("-");//无逗号,用-分割
    
    //reverse()
    console.log(num.reverse());	//颠倒
    console.log(num.reverse().join(""));	
    
    //sort
    console.log(words.sort());//默认按字符串排序
    var arr=[2,19-2];	// -2 19 2
    console.log(arr.sort(function(a,b){return a>b;}));	//从小到大排
    
    //concat多个数组合并成一个
    var arr1=[1,23,4,6],arr2=["a","b"],arr3;
    arr3=arr1.concat(arr2,["e",55]);
    
    //slice(start,end) 截取元素 start必须 end可选
    console.log(arr1.slice(1));//从下标1到最后
    console.log(arr1.slice(1,2));//左闭右开
    console.log(arr1.slice(-2,2));//空
    console.log(arr1.slice(-2,3));//负数相当于该负数加上数组长度
    
    1. 面试题:实现b数组对a数组的拷贝,方法越多越好
    var a=[1,"yes",3],b;
    //1.遍历push
    for(var i =0;i<a.length;i++) b.push(a[i]);
    //2.concat
    b=[].concat(a);
    //3.slice
    b=a.slice(0);
    
    1. splice
    //splice(index,count) 删除,返回被删除的数组元素,count为0不删除 count为空删除index及其后面所有
    //删除
    var a=[1,"yes",3,4,5,6];
    console.log(arr.splice(1));	//删除1及后面所有
    console.log(arr.splice(1,0));//不删除	
    console.log(arr.splice(1,2));//删除yes 3
    //插入
    a.splice(2,0,"m",7);//将下标为2的元素往后挤
    //替换
    a.splice(1,2,"x",2,4);//删除yes 3 插入 x 2 4 
    
    1. indexOf
    //indexOf(searchvalue,startIndex) searchvalue为要查找的项,必须 startIndex为查找起点,可选 返回查找项在数组中的位置,未找到返回-1
    var a=[1,"yes",3,4,5,6,3];
    console.log(a.indexOf(3));//2
    console.log(a.indexOf(3,4));//从下标4开始找,返回
    
    //lastIndexOf
    console.log(a.lastIndexOf(3));
    
  2. String 字符串
    //charAt charCodeAt
    var str="hello";
    console.log(str.charAt(3));//返回l
    console.log(str.charCodeAt(3));//返回l的编码
    console.log(str.charAt(6));//undefined
    
    //indexOf lastIndexOf
    console.log(str.indexOf("ll");//若无 返回-1
    console.log(str.indexOf("o");
    
    //slice
    console.log(str.slice(1,3));	//左闭右开
    console.log(str.slice(1));//从1截取完
    console.log(str.slice(-3));//从2截取完
    console.log(str.slice(-3-1));//从2截取到4
    
    //substring
    console.log(str.substring(-2,5));//substring遇到负数会转成0
    console.log(str.substring(5,-2));//substring会自动转换把小的作为起始位置
    
    //substr 
    console.log(str.substr(-2,5));	//第一个参数为负数会加上字符串长度,第二个参数为截取的长度
    
    //split
    var arr='wewew-dad-werg';
    console.log(arr.split('-'));
    
    //replace
    var tel="adad-faf";
    console.log(tel.replace('-',' '));
    
    1. 实例
    	//获取扩展名
    	var url="phone.jpg";
    	function get(url){
    		return url.substr(url.lastIndexOf("."));
    	}
    	console.log(get(url));
    
    	//margin-left 改写成驼峰形式
    	function camel(str){
    		var arr=str.split("-"),nstr=arr[0];
    		for(var i=1;i<arr.length;i++){
    			nstr = arr[i].charAt(0).toUpperCase() + arr[i].substr(1);
    		}
    		return nstr;
    	}
    	console.log(camel("border-left-color"));
    
  3. Math
    var min=Math.min(5,-4,5,7,"abc");//NaN只要有个非数字就是NaN
    //ceil floor round abs
    //生成n到m之间的随机整数公式
    random=Math.floor(Math.random()*(m-n+1)+n);
    
  4. date
     //getFullYear()	返回四位数年份
     //getMonth()		返回月份 0-11
     //getDate()		返回月份中天数
     //getDay()			返回星期0-6
     //getHours()		返回小时
     //getMinutes()		返回分
     //getSeconds()		返回秒
     //getTime()		返回表示日期的毫秒数
     var today=new Date(),
     year=today.getFullYear(),
     month=today.getMonth(),
     day=today.getDate();
     console.log(year);
    
     today.setFullYear(2018);
     console.log(today.getFullYear());//2018
     today.setMonth(14);
     console.log(today.getFullYear());//2019
    
     //50天之后是星期几
     today.setDate(today.getDate() +50);
     console.log(today.getDay());
    
     //创建一个目标日期队形
     var temp= new Date(year+2,month,day);
     console.log(
     "两年后的今天是:" + temp.getFullYear() + '-' + (temp.getMonth()+1) + '-' + temp.getDate()
     );
    
相关标签: JS学习