第六天学习web之学习JavaScript(三)

第一部分:MATH对象

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>MATH对象</title>
</head>
<body>

<script>
    // 开方
    document.write(Math.sqrt(4) + "<br>");        //2
    // 绝对值
    document.write(Math.abs(-5) + "<br>");       //5
    // pi
    document.write(Math.PI + "<br>");            //3.141592653589793
    // x的y次方
    document.write(Math.pow(2,3) + "<br>");      //8
    // 取整            四舍五入
    document.write(Math.round(3.6) + "<br>");    //4
    // 向下取整
    document.write(Math.floor(2.7) + "<br>");    //2
    // 向上取整
    document.write(Math.ceil(2.4) + "<br>");     //3
    // 最大数
    document.write(Math.max(3,6,21,3) + "<br>");     //21
    // 最小数
    document.write(Math.min(3,6,4,2) + "<br>");      //2
    // 随机数      默认01(左闭右开)
    document.write(Math.random() + "<br>");      
    document.write(Math.random()*100 + "<br>");             //0100的随机数
    document.write(Math.round(Math.random()*100) + "<br>");  //0100的随机整数
</script>

</body>
</html>

第二部分:日期对象

在这里插入图片描述

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>日期对象</title>
</head>
<body>

<script>
    // 定义一个日期对象
    var today = new Date();      //得到本机电脑的时间
    // 获取年
    var year = today.getFullYear();
    document.write(year + "<br>");
    // 获取月      注意:获取的月份从0开始   比如:本机电脑是1月,则获取是0月。
    var month = today.getMonth()+1;
    document.write(month + "<br>");
    // 获取日期
    var date = today.getDate();
    document.write(date + "<br>");
    // 获取周几
    var day = today.getDay();
    document.write(day + "<br>");
    // 获取小时
    var hour = today.getHours();
    document.write(hour + "<br>");
    // 获取分钟
    var minute = today.getMinutes();
    document.write(minute + "<br>");
    // 获取秒数
    var second = today.getSeconds();
    document.write(second + "<br>");
    // 时间戳
    var time = Date.now();
    document.write(time);
</script>

</body>
</html>

第三部分:函数

(1)定义一个函数?
function funName(){}
(2)函数分类:
有名函数,匿名函数。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>函数</title>
</head>
<body>

<p onclick="add()">我是一个段落标签</p>
<p onclick="add2('你是段落标签2')">我是一个段落标签2</p>
<p onclick="add3()">我是一个段落标签3</p>

<script>
    // 有名函数      可以进行调用
    function add() {        //add就是函数名字
        alert("你是段落标签1");
    };

    // 匿名函数      不可进行调用  一般充当事件函数!
    var p1 = document.getElementsByTagName("p")[2];
    p1.onclick = function () {
        alert("你是段落标签3");
    };

    // 函数传参
    function add2(a) {
        alert(a)
    };

    // 函数返回值  return
    function add4(a) {
        return a;          //注意:return意味着函数结束,函数体中return下面的语句不起作用!
    }
    var b = add4("我是函数返回值");
    alert(b)

    // 不定长参数        arguments可以接收任意多个参数!
    function fun() {
        console.log(arguments)
    }
    fun(1,2,3,4,5);

    // 自定义函数(自调用函数)     自己会调用自己,直接就执行函数了。 ! 或者 ~ 或者 + 或者 - 或者 () 都可以表示;
    ~function () {
        console.log("我是自调用函数");
    }();
    // 小括号表示自定义函数的另外两种写法:
    (function () {
        console.log("我是自调用函数");
    })();

    (function () {
        console.log("我是自调用函数");
    }());

    // JS里函数的作用域
    var a = 10;        //全局变量
    function fun3() {
        // 函数作用域:局部变量
        var a = 20;     //如果把var去掉,弹出结果就变成:10 20 20。涉及:子作用域会改变父作用域的值。  这时a就相当于全局变量了。
        alert(a);
    }
    alert(a);
    fun3();
    alert(a);
    // 弹出为:10  20  10
    // 来个例子分析:  子作用域会改变父作用域的值
    var a = 10;
    function fun() {
        var a = 20;
        function fun1() {
            a = 30;     //因为此处没有加var,子作用域会改变父作用域的值。所以调用fun()得到的a是30}
        fun1();
        alert(a);
    }
    alert(a);           //10        程序从上往下执行,遇到函数先跳过,所以此处a是10。
    fun();              //30
    alert(a);           //10        要注意:子作用域是会改变父作用域的值,但只是父作用域的值,再往上(爷爷辈的)就不会改变了!!!

    // 小拓展:
    // let定义局部变量的关键字
    {
        // 块级作用域        只能在这个花括号里面使用,如果在花括号外面使用会报错,显示i未被定义!  但是如果使用var定义的就都可以。
        let i = 1;
        console.log(i)
    }

</script>

</body>
</html>

第四部分:定时器

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>定时器</title>
</head>
<body>
<script>

    // 第一种定时器:::
    // 在指定时间后执行一次
    var time1 = setTimeout(function () {
        console.log(123);
    },3000);        //时间单位是ms
    // 清除定时器
    clearTimeout(time1);

    // 第二种定时器:::
    // 以指定的时间为周期循环执行
    var time2 = setInterval(function () {
        console.log(456);
    },1000);
    // 清除定时器
    clearInterval(time2);

</script>
</body>
</html>
发布了65 篇原创文章 · 获赞 50 · 访问量 3572

猜你喜欢

转载自blog.csdn.net/qq_44907926/article/details/104984816