前端基础-08-数据类型高阶函数

前端基础-数据类型高阶函数

1.六大数据类型

  • number 数字类型
  • string 字符串类型
  • boolean boolean类似
  • function 函数
  • undefined 默认赋值
  • object 对象

2.number数字操作

#number数字
    在js里面的小数和整数统一都是数字,-2^53-2^53,超出范围之后
    精度就会不准确

#parseInt(解析的参数)——将参数转换为数字,整数部分遇到不
是数字就停
var  n="5.16"; #输出5
alert(parseInt(n))

#parseFloat()——将参数转换为数字,不是数字就停,否则直到
小数部分遇到不是数字就停
var  n="5.1613safd";  #输出5.1613
alert(parseFloat(n))

# Num.toFixed(n)——四舍五入保留n位小数
alert(parseFloat(n).toFixed(2))  #toFixed(2) 保留两位小数,四舍五入

#NaN(Not a Number)
            NaN 不等于自己

alert(NaN == NaN);#false

#系统函数
alert(Math.pow(2,3));#2^3 幂运算
alert(Math.round(5.5));#四舍五入(取整)
alert(Math.ceil(0.2));#向上取整
alert(Math.ceil(-0.2));# 0
alert(Math.floor(-2.9));#向下取整
alert(Math.random());#随机数 [0,1)
var x = Math.random();
alert(x*10 + 10);
alert(Math.PI);
var a = Math.max(25,13,10,-5); #求一组数字中的最大数
alert(a);
var b = Math.min(-25,3,20);#求一组数字中的最小数

alert(b);
alert(Math.abs(-10));#求绝对值

3.字符串

#索引、下标、偏移量——从0开始

#str[index];——通过索引取字符串
alert(str[0]);
#str[0] = "y";//只能读,不能写(修改)

#str.length;——获取长度  空格也算
alert(str.length);

#value.toString();——转换字符串
var a = 456;
alert(a.toString());

#str.substring();——截取字符串 会比较参数值的大小,
小的参数在前面,负数变为0
var a="java"
alert(str.substring(2,3));#v
alert(str.substring(2,-1));#等价于(0,2)

#str.slice()——切片,不会交换位置,负数从右到左数
var  str="python";
alert(str.slice(2,4));
var  str="python";
alert(str.slice(-4,-2)); #从后面开始算,切片

#str.split()——字符串切割,返回数组
var  str="You need python";
alert(str.split(" ")[0]); #输出You

#str.indexOf——查找字符串,成功返回索引,反之返回-1
var  str="You need python";
alert(str.indexOf(" ")); #查找第一个是空格的元素位置 是3  
alert(str.indexOf(" ",5)); #从索引是5的位置开始找

#str.toUpperCase()——全部转换大写
var  str="You";
alert(str.toUpperCase());#YOU

#str.toLowerCase()——全部转换小写
var  str="You need python";
alert(str.toLowerCase());

4.数组

#定义一个数组
var arr = ["a","b","c","d"];
arr.length #数组的长度
arr[2]#取值
arr[2] = "f"; #数组赋值 
arr.join(",");  #输出a,b,c,d

#以创建对象的形式 创建数组
var arr = new Array();
arr[0]="a"

var arr = ["龙虾","周黑鸭","绝味","鸡排","烧鸡"];
arr.push("湖南","长沙");#往数组后面 追加  多个
arr.unshift("北京");#往数组前面 追加  多个
arr.pop();#删除数组最后一位
arr.shift();#删除数组的第一个
arr.splice(2);#保留数组的长度为最多为2个
arr.splice(2,1);#从下标2开始 删除一位
arr.splice(2,0,"螺蛳粉");#从下标2开始 删除0位(就是不删除) 添加螺蛳粉

var arr = [2,5,4,8,1];
arr.sort();#从小到大
arr.sort().reverse();#从大到小
arr.sort(function (a,b) {
    return a - b;#排序,从小到大
    return b - a;#排序从大到小
    return -1;#顺序没有变
    return 1;#    倒叙
});

5.日期

var data = new Date();
var strap = data;#完整时间
var strap = data*1;#时间戳
var strap = data.getTime();#方法打起括号来执行  时间戳
var year = data.getFullYear();//获取年份    取值为四位数字
var month = data.getMonth()+1;//获取月份    取值为0~11之间的整数
var date = data.getDate();//获取日数    取值为1~31之间的整数
var hour = data.getHours();//获取小时数  取值为0~23之间的整数
var minutes = data.getMinutes();//获取分钟数  取值为0~59之间的整数
var seconds = data.getSeconds();// 获取秒数    取值为0~59之间的整数
var day = data.getDay();//获取周几    取值为0~6之间的整数
alert(day);

6.定时器

定时器常用的三种方法:
#第一种
setInterval(function () {//每200毫秒执行一次,循环执行
    console.log(1)
}, 200)
#第二种
setTimeout(function () {//多少毫秒执行,只会执行一次
    console.log(3)
},200)
#第三种
setInterval(fn, 1000);
function fn() {
    console.log(3);
}
#清除定时器
#清除Interval
var  num=5;
var time=setInterval(fn, 1000);
function fn() {
    num--;
    if (num==1){
        alert("已经清除了")
        clearInterval(time)//清除定时器
    }
    console.log(3);
}

#清除Timeout
var  num=5;
var time=setTimeout(fn, 1000);
function fn() {
    num--;
    if (num==1){
        alert("已经清除了")
        clearTimeout(time)//清除定时器
    }
    console.log(3);
}

你可能感兴趣的:(前端基础,前端,前端的爱与恨)