目录
str.charCodeAt(下标); // 将下标位置的字符转为Unicode编码
String.fromCharCode(46) //将编码转换为字符串
str.indexOf() str.lastIndexOf() 和数组中indexOf相同查找字符所在下标
str.replace() 替换 类似于数组中的splice();
str.split(分隔符) 将字符串以分隔符进行分割转换为数组
arr.reverse();数组元素倒序或者反转 // 这是一个数组方法
date.getYear(); //获取的年份是从1900年开始计算的,有问题
date.getMonth()+1; //获取月份 从0开始
date.getDay(); //获取星期 从0开始 0就是星期日 1是星期1
date.getMilliseconds(); //获取毫秒
date.setMonth(12); //1月,进位了年份+1 是从0开始的;
date.setHours(date.getHours()+2);//设置为现在时间的2小时后
date.getUTCFullYear() //凡是带有UTC这些都是格林尼治时间
date.toLocaleString(); //转换为本地(windows上)设置格式时间字符串
date.toUTCString(); //转换为格林尼治时间字符串
MATH方法
-
Math.PI; Π
-
Math.SQRT2; 根号2 常量,只能使用不能修改
-
Math.abs(); //绝对值
-
Math.floor(); //向下取整
-
Math.ceil(); //向上取整
-
Math.round(); //四舍五入
// 负数的四舍五入,一般都是转换为正数处理
// -4+0.5; -3.5
// -4+0.6; -3.4;
// -4+0.4; -3.6;
-
Math.max(); //取最大值
-
Math.min(); //取最小值
// 求数组元素的最大值和最小值
var arr=[3,6,9,1,5,4];
var max=Math.max.apply(null,arr); // apply 改变this的指向,当第一个参数为null、undefined的时候,默认指向window。
var min=Math.min.apply(null,arr);
console.log(max);
-
Math.pow(x,y); // x数的y次幂
-
Math.sqrt(x) // 求x的平方根
// var num=Math.pow(8,1/3); 8的立方根 pow 也可以用来求立方根或开平方
// var num=Math.pow(9,1/2); 9的开平方 但是pow开平方的速度没有sqrt快
// 两点距离公式
function getDistance(point1,point2){
return Math.sqrt(Math.pow(point2.x-point1.x,2)+Math.pow(point2.y-point1.y,2));
}
var point1={x:100,y:100};
var point2={x:200,y:200};
var v=getDistance(point1,point2);
console.log(v);
2的多少次幂
// console.log(1<<2); 2的2次幂
// console.log(1<<4); 2的4次幂 上限32次幂 当携程1<<32 会打印1
string 字符串方法
var str="abcdef"; // 这个字符串是存在栈中的
var str1=new String("abcdef"); // 这个字符串是存在堆中,构造函数创建的一般都是对象,字符型对象
console.log(str==str1); // true
console.log(str===str1); //false
console.log(str[1]);
str[1]="z"; // 这种下标的写法,我们可以获取字符串中第几位的字符,但是不能修改设置
console.log(str);
console.log(str.length);
str.length=0; // length 字符的长度,就是字符串有多少字符组成,字符串的长度无法修改
console.log(str);
var s=""; // 复制字符串
for(var i=str.length-1;i>=0;i--){
s+=str[i];
}
console.log(s);
-
str.charAt(下标); //获取下标位置的字符
-
str.charCodeAt(下标); // 将下标位置的字符转为Unicode编码
-
String.fromCharCode(46) //将编码转换为字符串
console.log(str.charAt(1)); //和str[1]; 一样
console.log(str.charCodeAt(0));
// var str="09azAZ";
// 0 48
// 9 57
// a 97
// z 122
// A 65
// Z 90
生成随机验证码
function getSecurityCode(){ // 验证码 防止高并发
var arr=[];
for(var i=48;i<123;i++){
if(i>57 && i<65){
i=64;
continue;
}
if(i>90 && i<97){
i=96;
continue;
}
arr.push(String.fromCharCode(i));
}
arr.sort(function(){
return Math.random()-0.5;
});
arr.length=4;
return arr.join("");
}
var str=getSecurityCode();
console.log(str);
-
str.concat() 连接字符串 效果等同于 +
var str="abc";
var str1="def";
var str2=str.concat(str1); // var str2=str+str1; 这个等同于concat
console.log(str2);
-
str.indexOf() str.lastIndexOf() 和数组中indexOf相同查找字符所在下标
var arr=[
{id:1001,name:"计算机",price:4999},
{id:1002,name:"电机",price:1999},
{id:1003,name:"记事本",price:9},
{id:1004,name:"课本",price:99},
{id:1005,name:"计算器",price:149},
];
// 模糊查找
var arr1=arr.filter(function(item){
return item.name.indexOf("本")>-1
});
console.log(arr1);
-
search match 查找 用于正则表达式
// var str="abcde";
// console.log(str.search("f"));
// console.log(str.match("b"))
-
str.replace() 替换 类似于数组中的splice();
// 数组的splice是修改原数组的内容
// 但是replace不修改原字符的内容,会返回一个被修改后的新字符串
// 如果出现两个相同的元素,那么只修改第一次被查找到的元素
var str="abcdecf";
var str1=str.replace("c","z");
str.replace()
console.log(str,str1);
-
str.slice(start,end) 截取复制字符串
// slice(从下标几开始,到下标几之前结束) 截取复制字符串
// 允许有负值,负值表示从后向前
var s=str.slice(1,2);
-
str.substring() 截取
// var s=str.substring(2,4);//和slice相似
// substring不允许负数,所有的负值指0之前,因此负数都是0
// 可以逆向截取赋值
// var s=str.substring(4,2);
// console.log(s);
-
str.substr(从下标几开始,截取长度);
// var s=str.substr(-2,5);
// console.log(s);
-
str.split(分隔符) 将字符串以分隔符进行分割转换为数组
// var str="a,b,c,d,e,f";
// var arr=str.split(",");
// console.log(arr);