Number
使用Number构造器创建
var num = new Number('100');
使用Number的工厂方法创建
var num = Number('100')
工厂方法原理
function User(id,name,pwd){
var u = {
id:id,
name:name,
pwd:pwd
}
return u;
}
var u = User(1,"softeem","123");
//工厂模式
// var n2 = Number();
var n = new Number(undefined);
console.log(typeof n);
console.log(n instanceof Number);
console.log(Number.MAX_VALUE)
console.log(Number.isNaN(NaN))
var i = 3.1415926;
//保留指定number类型的小数点后2位
console.log(i.toFixed(2))
//最多截取小数点后三位并转换为string
console.log(typeof i.toLocaleString(i));
String
var s = new String('softeem');
console.log('字符串长度:'+s.length);
//使用指定的html标签对字符串内容包裹
console.log(s.big()); // <big>softeem</big>
console.log(s.bold()); // <b>softeem</b>
console.log(s.link("http://www.softeem.top"));//<a href="http://www.softeem.top">softeem</a>
//es6特性
s = `hasdfasdfa
sdfasdfasd
fasdfas
dfaasdf`;
console.log("13267890532".match(/1[3578]\d{9}/));//使用字符串匹配对应的正则表达式,匹配结果为数组对象
console.log(/1[3578]\d{9}/.test('13567089876'));//使用指定的正则表达式判断是否匹配给定的字符串
console.log("ab,cd,ef".split(","));//使用给定正则表达式截取位数组
console.log("a.txt".endsWith(".txt"));//判断是否以指定后缀结束
console.log(" abc ".trim());//去除前后空格
Array
var arr = [6,7,4,3,5,2,1,9,8,10];
console.log(arr[0]);
//向数组中添加元素(末尾)
arr.push(8);
//获取数组长度
console.log(arr.length);// 11
//箭头函数(lammda表达式:ES6)
arr.forEach((item,index)=>{
console.log(item,index);
})
/**
* item: 当前遍历到的元素对象
* index:当前元素的索引
* array:目标数组对象
*/
arr.forEach(function(item,index,array){
console.log(item,index,array);
})
//排序:自己实现排序规则,等同java中集合排序中Comparator比较器
arr.sort((a,b)=>b-a);
console.log(arr); // [10, 9, 8, 8, 7, 6, 5, 4, 3, 2, 1]
//数组反转
arr.reverse();
console.log(arr);//[1, 2, 3, 4, 5, 6, 7, 8, 8, 9, 10]
//弹出数组的末尾元素,并从数组中移除
console.log(arr.pop());//10
console.log(arr);//[1, 2, 3, 4, 5, 6, 7, 8, 8, 9]
//向数组头部插入元素
arr.unshift('100');
console.log(arr); // ["100", 1, 2, 3, 4, 5, 6, 7, 8, 8, 9]
//取出数组头部的元素
console.log(arr.shift());
console.log(arr);// [1, 2, 3, 4, 5, 6, 7, 8, 8, 9]
//获取指定元素的索引
let index = arr.indexOf(7);
console.log(index)// 6
//删除指定索引的元素 参数一:索引 参数二:删除的元素个数
arr.splice(index,1);
console.log(arr);//[1, 2, 3, 4, 5, 6, 8, 8, 9]
//使用指定的符号对数组中的元素进行拼接,转换成string
let s = arr.join(",");
console.log(s);// 1,2,3,4,5,6,8,8,9
/*
有数组 ["jackson","rose","tom","lily","adom","bob","chrise"]
要求按照英文字母顺序排序输出
*/
var names = ["jackson","rose","tom","lily","adom","bob","chrise"];
// names.sort((a,b)=>a.localeCompare(b));
names.sort();
console.log(names);
Math
//从传入的参数中返回最大的一个元素
console.log(Math.max(10,20,40,50,33,22,12,9));
//返回从0.0~1.0之间的随机浮点数
console.log(Math.random());
//返回5~10之间的整数?
var n = parseInt(Math.random() * 6) + 5;
console.log(n);
//四舍五入取整
console.log(Math.round(4.46))
//输出指定数的n次幂
console.log(Math.pow(3,3));
//向下取整
console.log(Math.floor(3.999));
//向下取整
console.log(Math.ceil(3.00001));
Date
let date = new Date();
console.log(typeof date);//object
//获取日期对象的毫秒数表示方式
let time = Date.now();
console.log(typeof time);//number
console.log(DateFormater(date));
//yyyy-MM-dd HH:mm:ss
//日期格式化函数
function DateFormater(date){
let y = date.getFullYear();
let m = date.getMonth() + 1;
m = m > 10 ? m : `0${m}`;
let d = date.getDate();
d = d > 10 ? d : `0${d}`;
let h = date.getHours();
h = h > 10 ? h : `0${h}`;
let min = date.getMinutes();
min = min > 10 ? min : `0${min}`;
let s = date.getSeconds();
s = s > 10 ? s : `0${s}`;
return `${y}年${m}月${d}日 ${h}:${min}:${s}`;
}
RegExp
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
手机号:<input type="tel" name="phone" onblur="checkPhone(this)">
<script>
function checkPhone(input){
//获取输入框的值
var tel = input.value;
//声明手机号格式正则表达式
var regex = /^1\d{10}$/;
//验证输入的值是否匹配正则表达式
if(!regex.test(tel)){
// alert('请输入正确的手机号!');
input.style.boxShadow="0 0 10px #f00";
input.value='';
}else{
input.style.boxShadow="0 0 10px #0f0";
}
}
</script>