好文有约

Python(四十)JavaScript进阶

2021-12-28  本文已影响0人  Lonelyroots

Python(四十)JavaScript进阶

这篇文章主要涉及的内容是JS中的内置对象(Math对象以及日期对象)、定时器的使用、以及JS的函数与JS的异常。

1. JS的内置对象

JS内部已经内置了不少对象,类似于Python中的内置模块,可以直接使用,并且对象一般不需要导入,可以直接使用。

1.1. Math对象

Math对象是一个处理数学相关的对象,可以用来执行与数学相关的内容。

console.log(Math.sqrt(9));:算术平方根:9的算术平方根
console.log(Math.pow(4, 2));: 幂运算:4的2次方,x的y次方
console.log(Math.abs(-6));:绝对值
console.log(Math.ceil(5.6));:向上取整
document.write(Math.ceil(5.6)):在界面中打印
console.log(Math.floor(5.6));:向下取整
console.log(Math.round(9.8));:四舍五入
console.log(Math.random());:随机数:0-1
console.log(Math.round(Math.random()*100));:随机数:0-100
console.log(Math.random() * 30 + 20);:生成20到50的随机数
console.log(Math.max(1, 50, 40, 22, 3));:最大值
console.log(Math.min(1,50,40,22,3));:最小值

1.2. 日期对象

日期也是常用对象之一,基本和常用的方法都是需要了解和熟悉。

console.log(time.getFullYear());:年
console.log(time.getMonth());:月,老外的月份是从0开始,而中国是从1开始。
console.log(time.getDate());:日
console.log(time.getDay());:星期几
console.log(time.getHours());:得到时
console.log(time.getMinutes());:得到分
console.log(time.getSeconds());:得到秒
console.log(time.getTime());:得到时间戳,1970年到现在的ms数

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Built in object of JS</title>
</head>
<body>

    <!--Math对象-->
    <script>
        console.log(Math.sqrt(9));      // 算术平方根:9的算术平方根
        console.log(Math.pow(4, 2));    // 幂运算:4的2次方,x的y次方
        console.log(Math.abs(-6));      // 绝对值
        console.log(Math.ceil(5.6));    // 向上取整
        // document.write(Math.ceil(5.6))   // 在界面中打印
        console.log(Math.floor(5.6));   // 向下取整
        console.log(Math.round(9.8));   // 四舍五入
        console.log(Math.random());     // 随机数:0-1
        console.log(Math.round(Math.random()*100));
        console.log(Math.random() * 30 + 20);   // 生成20到50的随机数
        console.log(Math.max(1, 50, 40, 22, 3));    // 最大值
        console.log(Math.min(1,50,40,22,3));    // 最小值
    </script>

    <!--time对象-->
    <script>
        var time=new Date()
        console.log(time.getFullYear());    // 年
        console.log(time.getMonth());       // 月,外国的月份是从0开始,而中国是从1开始。
        console.log(time.getDate());        // 日
        console.log(time.getDay());     // 星期几
        console.log(time.getHours());   // 得到时
        console.log(time.getMinutes());     // 得到分
        console.log(time.getSeconds());     // 得到秒
        console.log(time.getTime());        // 得到时间戳,1970年到现在的ms数
    </script>

</body>
</html>

2. JS的Window对象

2.1. Window对象

Window对象是所有客户端JS特性和API的主要接入点。它表示web浏览器的一个窗口或窗体,并且可以用标识符window来引用。

2.2. Window属性和方法

Window对象定义了一些属性和方法,比如alert()方法以及非常重要的document属性。

2.3. 定时器

定时器是Window中的一个方法,可以用来实现一些定时操作。

var timer1 = setTimeout(function (){console.log('花')},2000):设置一个定时器timer1,过2000ms打印花,只打印一次。
var timer2 = setInterval(function (){console.log('草')},2000):设置一个定时器timer2,每过2000ms打印草,打印多次。
clearTimeout(timer1):清除定时器timer1
clearTimeout(timer2):清除定时器timer2

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>JS window object</title>
</head>
<body>

    <script>
        // 在指定时间后只执行一次
        var timer1 = setTimeout(function (){
            console.log('花')
        },2000)     //2000是ms,过2秒钟打印花,只打印1次
        // 以指定时间为周期,执行多次
        var timer2 = setInterval(function (){
            console.log('草')
        },2000)     //2000是ms,每过2秒钟打印草,打印多次
        // 清除定时器
        clearTimeout(timer1)
        clearTimeout(timer2)
    </script>

    <button>点击我跳转页面</button>
    <button>点击我关闭</button>
    <script>
        var btn = document.getElementsByTagName("button")
        btn[0].onclick=function (){
            // window.location.href = 'https://www.baidu.com/'      // 在当前页面跳转
            window.open("https://www.baidu.com/")       // 新建一个页面去跳转,类似_blank
        }
        btn[1].onclick=function (){
            window.close()
        }
    </script>

</body>
</html>

3. JS的函数

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

<!--函数的分类-->
    <script>
        // 有名函数,名字就是function之后,小括号之前
        function func(){
            console.log(5);
        }
        func()
        // 匿名函数,没有名字的,触发事件就会调用。
        document.onclick = function (){
            console.log(6);
        }
    </script>

<!--函数的传参-->
    <script>
        function func(x){       // x是形参
            console.log(x);
        }
        func(5)     // 5是实参
        function fun(x,y){
            console.log(arguments);     // 不定长参数
            for (let i=0;i<arguments.length;i++){
                console.log(arguments[i])
            }
        }
        fun(5,6,7,8,9)
    </script>

<!--函数的返回值-->
    <button>点击我跳转页面</button>
    <script>
        // 功能性函数没有返回值,得到的结果是undefined
        var a=alert(666)
        console.log(a);
        var b=console.log(777)
        console.log(b);

        // 返回性函数,会返回结果
        var btn=document.getElementsByTagName('button')[0]
        console.log(btn)

        // 自定义函数 有返回值打印出来的内容就是返回的内容 没有返回值打印就是undefined
        function func(x,y){
            console.log(x+y)
            return x+y      // return 返回值,和python一样,结束这个函数,后面的代码不执行。
            console.log(5)
        }
        func(8,9)
        var fun=func(6,7)
        console.log(fun)
        func(fun,6)
    </script>

<!--JS作用域-->
    <script>
        var a=10    // 全局变量
        function fun(){
            var a=20    // 局部变量 函数作用域 外面不能调用,也不影响外面的
            // a = 20      // 没有用var声明,则会自动成为全局变量,只能改变外面(父)变量的值
            function func(){
                var a = 30      // 局部变量 函数作用域 外面不能调用,也不影响外面的
                // a = 30      // 没有用var声明,则会自动成为全局变量,只能改变外一级(父)变量的值。
            }
            func()
            alert(a)
        }
        alert(a)
        fun()
        alert(a)

        {
            var a = 10      // 全局变量的作用域是全局的,网页的所有脚本和函数都可以访问。
        }
        console.log(a)
        {
            let a = 10      // 局部变量就是块级作用域,只能在函数内部访问
        }
        console.log(a)      // 打印undefined
    </script>

<!--JS函数表达式-->
    <script>
        // 函数自调用,在function前写+、-、!、~、()、可以让匿名函数立即执行
        ~function (){
            console.log(5);
        }()

        // 这个最常用
        (function (){
            console.log(4)
        }())

    </script>

</body>
</html>

4. JS异常

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

<!--JS exception-->
    <script>
        function func(){
            // var a=10
            try{
                console.log(a);
            }
            catch(e){
                alert("错误类型"+e.name+"错误信息"+e.message)
            }
            finally {
                alert("执行结束")
            }
        }
        func()

        function func(){
            var a=10
            try{
                if (a<10) throw 'a太小了'
                if (a==10) throw 'a刚刚好'
                if (a>10) throw 'a太大了'
            }
            catch (e){
                alert(e)
            }
            finally {
                alert('执行结束')
            }
        }
        func()

    </script>
</body>
</html>

文章到这里就结束了!希望大家能多多支持Python(系列)!六个月带大家学会Python,私聊我,可以问关于本文章的问题!以后每天都会发布新的文章,喜欢的点点关注!一个陪伴你学习Python的新青年!不管多忙都会更新下去,一起加油!

Editor:Lonelyroots

上一篇 下一篇

猜你喜欢

热点阅读