JavaScript进阶

一.js的内置对象

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>js内置对象</title>
</head>
<body>
<script>
    //js中,万物皆对象
    //js中的值分两种:原始类型,对象
    // var a = new String('abc')//这么写就相当于实例化了一个字符串对象,他就不再是普通的原始类型了
    // a.abc = '123'
    // console.log(a.abc)

    //Math对象,存放的都是一些数学相关的方法
    console.log(Math.sqrt(64));//开平方
    console.log(Math.pow(2, 3));//次方,2,3就是2的3次方
    console.log(Math.round(3.51));//四舍五入
    console.log(Math.ceil(3.1));//向上取整
    console.log(Math.floor(5.9));//向下取整
    console.log(Math.max(1, 2, 33, 444));//最大数
    console.log(Math.min(1, 2, 33, 444));//最小数
    console.log(Math.random() * 100 + 1);//random本身只生成0-1的随机数,如果要指定,就用他乘以m+n,就会生成n-(n+m)的值
    console.log(Math.abs(-100));//绝对值
    console.log(Math.PI);//圆周率


    // Date类,他里面存放的就是一些日期和时间相关的方法
    var date = new Date();
    console.log(date.getTime());//获取时间戳
    //年月日 月份必须加一
    console.log(date.getFullYear());
    console.log(date.getMonth() + 1);
    console.log(date.getDate());
    //时分秒
    console.log(date.getHours());
    console.log(date.getMinutes());
    console.log(date.getSeconds());
    //星期
    console.log(date.getDay());
    //时间戳
    console.log(Date.now());
</script>
</body>
</html>

二.js的window对象

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>js的window对象</title>
</head>
<body>
<botton>百度一下</botton>
<script>
    //定时器,第一个参数就是你要执行的操作,第二个参数就是间隔时间,时间以毫秒为单位
    //下面的代码就是每隔五秒 打印一下123
    // setInterval(function () {
    //     console.log(123)
    // },5000)

    //想要让定时器停止有两种方法,第一种就是直接关掉窗口,第二种就是使用clearInterval清除这个定时器
    // i = 0
    // var intv = setInterval(function () {
    //     console.log(123)
    //     if (i === 5){
    //         clearInterval(intv)
    //     }
    // },5000)

    //延时器,和定时器差不多 也是根据指定的时间 去执行代码 但是它只会执行一次
    //清除延时器和定时器一样 只不过方法名不一样
    // var tout = setTimeout(function () {
    //     console.log(1)
    // },5000)
    //  clearTimeout(tout)

    var btn = document.getElementsByTagName('botton')[0]
    btn.onclick = function () {
        //页面跳转
        // location.href = 'https://www.baidu.com/'//直接在当前页面跳转
        open('https://www.baidu.com/')//打开一个新的标签页
    }

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

三.js函数

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>js函数</title>
</head>
<body>
<script>
    //js中定义函数使用function关键字,后面跟上函数名,再加上小括号,括号内是函数的参数,后面再跟上大括号,大括号内是函数要执行的代码
    //函数必须调用才会执行,调用函数是函数名加括号
    // function f1() {
    //     console.log(1)
    // }
    // f1()

    //函数参数,分为形参和实参,js中没有python中的必备默认之类的区分
    //放在函数定义地方的参数叫做形参,调用函数的时候传进去的参数,叫做实参
    //js的函数参数,它既不会检测参数的数据类型,也不会检测传入参数的个数
    // function f2(a,b) {
    //     console.log(a,b)
    //     console.log(arguments)//不定长参数,接收到之后会将数据放到一个列表里面
    //     console.log(arguments[3])
    // }
    // // f2(1,2)
    // f2(1,2,3,4,5)

    //函数返回值,return,概念和python中一样
    //如果你的函数没有return,但是你用变量接收了函数的调用,那么会得到一个undefined
    // function f3(a,b) {
    //     var c = a+b
    //     return c
    // }
    // x = f3(1,2)
    // console.log(x)

    //函数作用域,其实就是用var和不用的区别
    //在函数外面用var定义变量的时候,它是一个全局变量,在函数里面用var的时候,它是一个局部变量
    //不用var直接定义变量的时候,不管在函数里面还是外面,他都是全局变量
    // var a = 1
    // function f4() {
    //     a++
    //     console.log(a)
    // }
    // f4()
    // console.log(a)

    //function前面如果有波浪线的话,那说明他是一个自调用函数,不需要专门调用,定义完直接调用 不需要函数名
    // ~function () {
    //     console.log(123)
    // }()//这里的小括号是自动调用的关键
    //这也是一种自调用函数
    //     (function () {
    //         console.log(1)
    //     })()


    //递归函数,和python中递归概念一样
    function f5(x) {
        if (x ==0){
            console.log(x)
        }else{
            console.log(x)
            f5(--x)//这里只能用--x或者x-1
        }
    }
</script>
</body>
</html>

四.js异常处理

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>js异常处理</title>
</head>
<body>
<script>
    //try下面放可能会报错的代码,catch下面放报错了进行处理的代码,finally,不管报错与否都要执行的代码
   try{
       num=1
       console.log(num)
   }catch(e){   //e就是捕获到的错误,它是一个对象
       console.log('错误类型:',e.name,'错误信息:',e.message)
   }finally{
       console.log('执行完毕')
   }
   </script>
</body>
</html>
  • 8
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值