console.log(Math.PI);//3.141592653589793(圆周率)
console.log(Math.E);//2.718281828459045(自然对数的底数)
//1.绝对值
console.log(Math.abs(-1));//
console.log(Math.abs(1));//
//2.向上取整
console.log(Math.ceil(2.01));//
console.log(Math.ceil(2.5));//
console.log(Math.ceil(2.99));//
//3.向下取整
console.log(Math.floor(2.01));//
console.log(Math.floor(2.5));//
console.log(Math.floor(2.99));//
//4.转换为离它最近的单精度浮点数形式的数字
console.log(Math.fround(1.1));//1.100000023841858
console.log(Math.fround(2 ** 150));//Infinity
console.log(Math.fround("abc"));//NaN
console.log(Math.fround(NaN));//NaN
//5.取最大值和取最小值
console.log(Math.max(3,10,11,58,1,9,6));//
console.log(Math.min(3,10,11,58,1,9,6));//
console.log(Math.min(3,10,"abc",58,1,9,6));//NaN
//6.数的指数次幂
console.log(Math.pow(2,2));//
console.log(Math.pow(4,3));//
//7.数的平方根
console.log(Math.sqrt(16));//
console.log(Math.sqrt(0));//
console.log(Math.sqrt(-16));//NaN
//8. [0,1)的随机数
console.log(Math.random());//[0,1)的随机数
console.log(Math.random()*5);//[0,5)的随机数
console.log(Math.random()*5+1);//[1,6)的随机数
console.log(parseInt(Math.random()*5));//[0,5)的随机整数
//例1 :自定义一个对象,实现Math.max的方法
function MyMath(){
//对象添加一个方法
this.getMax=function(){
//参数不确定,获取参数
var max=arguments[0];
for(var i=0;i<arguments.length;i++){
if(max<arguments[i]){
max=arguments[i];
}
}
return max;
};
}
//实例对象
var mt=new MyMath();
var result=mt.getMax(10,30,50,12,66,1);
console.log(result);//
//例2 :一个十六进制颜色值的数组
function getColor(){
//定义一个带#的字符串,用于开头
var str="#";
//定义一个数组,十六进制的每个数字和符号
var arr=["1","2","3","4","5","6","7","8","9","a","b","c","d","e","f"];
//因为需要六位数,所以循环六次
for(var i=0;i<6;i++){
//随机产生[0,16)的整数,作为下标
var num=parseInt(Math.random()*16)
str=str+arr[num];
}
return str;
}
var result=getColor();
console.log(result);//随机产生#1be513这样随机颜色值
//1. length属性表示一个字符串的长度
var str="JavaScript";
console.log(str.length);//
//2. concat() 方法将一个或多个字符串与原字符串连接合并,形成一个新的字符串并返回。
var str="JavaScript";
console.log(str.concat("HTML","CSS"));//JavaScriptHTMLCSS
//3. indexOf() 方法找字符串,从某个位置出发(默认0,即从头开始),返回索引值,没有找到-1;
var str="JavaScript";
console.log(str.indexOf("a"));//
console.log(str.indexOf("a",2));//3----后面的参数表示从哪个位置开始
console.log(str.indexOf("m"));//-1-----没有返回-1
console.log(str.indexOf("s"));//-1-----区分大小写
//4. lastIndexOf() 从后往前找,但是返回的索引值依然是从头开始计算的
var str="JavaScript";
console.log(str.lastIndexOf("a"));//
console.log(str.lastIndexOf("a",2));//
console.log(str.lastIndexOf("s"));//-1
//5. replace() 方法返回替换后的新字符串。(不是改变原来的字符串)
var str="JavaScript";
console.log(str.replace("Java","type"));//typeScript-----前旧后新
//6. slice() 方法提取一个字符串的一部分,并返回一新的字符串。
var str="JavaScript";
console.log(str.slice(0,4));//Java----不包括最后那个
console.log(str.slice(4));//Script-----第二个参数默认到最后
//7. split()---(要干掉的字符串,留下的个数)返回一个新的字符串组成的数组
var str="JavaScript|HTML|CSS|java|c|python";
console.log(str.split("|",3));//(3) ["JavaScript", "HTML", "CSS"]
console.log(str.split("",3));//(3) ["J", "a", "v"]----空则每个切分
//8. substr() 方法返回一个字符串中从指定位置开始到指定字符数(长度)的字符。
var str="JavaScript";
console.log(str.substr(0,4));//Java-----前面参数是索引值,后面参数是长度
console.log(str.substr(-6));//Script------是负数代表从10+(-6)=4开始
//9. substring() 方法返回一个字符串在开始索引到结束索引之间的一个子集
var str="JavaScript";
console.log(str.substr(0,4));//Java----不包括最后那个,两个参数都是索引值
//10. toLowerCase()和toLocaleLowerCase()方法,转为小写,并返回。
var str="JavaScript";
console.log(str.toLowerCase());//javascript
console.log(str.toLocaleLowerCase());//javascript
//11.toUpperCase()和toLocaleUpperCase()方法,转换为大写,并返回。
var str="JavaScript";
console.log(str.toUpperCase());//JAVASCRIPT
console.log(str.toLocaleUpperCase());//JAVASCRIPT
//12. charAt() 方法从一个字符串中返回指定的字符。参数是索引值
var str="JavaScript";
console.log(str.charAt());//J------默认是0开始
console.log(str.charAt(3));//a
console.log(str.charAt(10));// -----没有则返回空字符串
//13. fromCharCode(),返回对应的ASCII码对应值,前面必须是大写的String
console.log(String.fromCharCode(65,66,67));//ABC
//1. Array.from() 方法复制,克隆一个新的数组
var arr=[1,5,"html","前端"];
console.log(Array.from(arr));//[1, 5, "html", "前端"]
//2.concat() 方法用于合并两个或多个数组。此方法不会更改现有数组,而是返回一个新数组。
var arr1=[1,5,"html","前端"];
var arr2=[10,50,70,90,100];
console.log(arr1.concat(arr2));//[1, 5, "html", "前端", 10, 50, 70, 90, 100]
//3.every(函数) 方法测试数组的所有元素是否都通过了指定函数的测试.
//三个参数:元素值,元素的索引,原数组,参数根据需要写或不写返回的是布尔值.
var arr=[10,200,300,1000];
var flag=arr.every(function(a,b,c){
//a------元素值
//b-------元素的索引(可以省略)
//c--------原数组,谁调用了这个函数就是谁,这里是arr(可以省略)
return a>100;
});
console.log(flag);//false-----需要都满足条件才会返回true
var arr=["html","css","JavaScript"];
var flag=arr.every(function(ele){
return ele.length<13;
});
console.log(flag);//true
//4.filter(函数) 方法返回一个新数组, 其包含通过所提供函数实现的测试的所有元素。
var arr=[10,200,300,1000];
var flag=arr.filter(function(ele){
return ele>100;
});
console.log(flag);//[200, 300, 1000]
//5.push() 方法将一个或多个元素添加到数组的末尾,并返回新数组的长度。
var arr=[10,20,30,40];
console.log(arr.push(50));//
console.log(arr);//[10, 20, 30, 40, 50]
//6.pop()方法从数组中删除最后一个元素,并返回该元素的值。
var arr=[10,20,30,40];
console.log(arr.pop());//
console.log(arr);//[10, 20, 30]
//7.shift() 方法从数组中删除第一个元素,并返回该元素的值。
var arr=[10,20,30,40];
console.log(arr.shift());//
console.log(arr);// [20, 30, 40]
//8.unshift() 方法将一个或多个元素添加到数组的开头,并返回新数组的长度。
var arr=[10,20,30,40];
console.log(arr.unshift(50));//
console.log(arr);//[50, 10, 20, 30, 40]
//9.forEach(函数) 方法对数组的每个元素执行一次提供的函数。相当于for循环
var arr=[1,5,"html","前端"];
var flag=arr.forEach(function(ele){
console.log(ele+"abc");
});//1abc 5abc htmlabc 前端abc-------没有返回一个新数组! & 没有返回值!
//10.indexOf()方法返回给定元素的第一个索引,如果不存在,则返回-1。
var arr=[1,5,"html","前端"];
console.log(arr.indexOf(5));//
console.log(arr.indexOf("css"));//-1
//11. join() 方法将一个数组的所有元素连接成一个字符串并返回这个字符串。
var arr=[1,5,"html","前端"];
console.log(arr.join());//1,5,html,前端-----返回字符串
//12. map(函数) 方法创建一个新数组,该数组中的每个元素都执行函数,返回结果的新数组。
var arr=[1,10,100,1000];
var flag=arr.map(function(ele){
return ele+1;
})
console.log(flag);//[2, 11, 101, 1001];
//13.reverse() 方法将数组中元素的位置颠倒。反转数组
var arr=[1,10,100,1000];
console.log(arr.reverse());//[1000, 100, 10, 1]
//14.sort() 方法对数组的元素进行排序,并返回数组。(有可能不稳定,加MDN固定代码)
var arr=[100,50,20,2000,6];
console.log(arr.sort());//默认排序顺序是根据字符串Unicode码点。
//15. slice(开始的索引,结束的索引)截取,不包括最后一个索引的值,返回新数组
var arr=[100,50,20,2000,6];
console.log(arr.slice(2,4));// [20, 2000]-----不包括arr[4]
//16.splice(a,b,c) 方法通过删除现有元素和/或添加新元素来更改一个数组的内容。
//第一个参数a---开始的位置
//第二个参数b---要删除的个数
//第三个参数c---替换的元素的值
var arr=["html","css","JavaScript"];
console.log(arr.splice(1,0));//[] ----没有删除的,返回空数组
console.log(arr.splice(1,1));//-----返回被删除的["css"]
console.log(arr.splice(1,1,"new"));//----返回被删除的数组["css"],
//但是此时在输出arr)是["html", "new", "JavaScript"]