js的学习

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>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值