20220706_JavaScript语法_变量定义_运算符_流程控制_函数定义

变量var, let, const

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Gram of JS</title>
</head>
<body>
  <script>
    //变量var可以更新为不同类型的数据
    // var test = 20
    // test = 'change to string'
    // alert(test)

    //var的作用域是全局,新定义的同名var会覆盖旧的,不会报错
    {
      var age = 30
      var age = 33
    }
    document.write(age+'\<br/>')

    //let的作用域仅限代码块内
    // {
    //   let age1 = 100
    //   let age2 = 200
    //   document.write(age1)
    // }
    // document.write(age2)

    //const是只读常量,不可改变值
    // const ct = 99.88
    // ct = 100

    //用typeof方法获取变量类型
    document.write(typeof age +'\<br/>')
    var price = 99.99
    document.write(typeof price +'\<br/>')

    var cha = 'a'
    var name = 'zhang'
    var city = "HongKong"
    document.write(typeof cha +'\<br/>')
    document.write(typeof name +'\<br/>')
    document.write(typeof city +'\<br/>')

    var flag = true
    document.write(typeof flag +'\<br/>')

    //null属于原始值的一种,应该是原始类型,但被当作对象的占位符,跟引用类型一样被看作一个object类型,这是一个沿用下来的错误
    var obj = null
    document.write(typeof obj +'\<br/>')

    //没定义的,不知道值类型的var,类型为undefined
    var und
    document.write(typeof und +'\<br/>')
    
  </script>
</body>
</html>

运算符,需要注意的与java有别的事双等于号,全等于号,类型控制

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Operators in JS</title>
</head>
<body>
    <script>
        //双等于号会判断类型是否一样,不一样会转换再比较值
        var age1 = 20
        var age2 = '20'
        var age3 = 20
        // document.write(age1 == age2)//true
        // document.write("<br>")

        //全等于,如果类型不一样直接false,类型一样再比较
        // document.write(age1 === age2)//false
        // document.write(age1 === age3)

        /*类型转换,其他类型转换为number类型
        * String:按字符串字面值转换,方法为parseInt,若字面非数字,转成NaN
        * boolean: true转为1,false转为0*/

        var str = +"202" //用上运算符+,已经表示这个字符串要转化成数字了
        var str1 = "101"
        document.write(str + 20 +"<br>")//输出看到222,表示它事一个数字了
        document.write(str1 + 10 +"<br>")
        document.write(parseInt(str1)+10 +"<br>")

        var flag1 = +false
        document.write(flag1 + "<br>")//输出0

        /*类型转换,其他类型转boolean
        * number: 0和NaN转false,其他数字转true
        * String:空字符串为false,其他为true
        * null:转false
        * undefined:转false
        * 转boolean的用处,事JS中其他类型数据作为控制语句的条件判断时可以简写*/

        // var flag2 = undefined
        // var flag2 = 0
        // var flag2 = ""
        // var flag2 = null

        var flag2 = str1
        //在java中你得写if(str1 != null && str1.length > 0)
        if (flag2){
            document.write("convert to true")
        }else {
            document.write("convert to false")
        }

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

流程控制

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Flow Contr in JS</title>
</head>
<body>
  <script>
    //if
    var count = 3
    if (count == 3){
        document.write(count + "<br>")
    }

    //switch
    var num = 10
    switch (num){
        case 1: document.write("Monday")
            break
        case 2: document.write("Tuesday")
            break
        case 3: document.write("Wednesday")
            break
        case 4: document.write("Thursday")
            break
        case 5: document.write("Friday")
            break
        case 6: document.write("Saturday")
            break
        case 7: document.write("Sunday")
            break
        default: document.write("The data is illegal")
            break
    }

    document.write("<br>")

    //for
    var sum = 0
    for (let i = 1; i <= 100; i++){
        sum += i
    }
    document.write(sum+"<br>")

    //while
    var sum1 = 0
    var i = 1
    while (i <= 200){
        sum1 += i
        i++
    }

    document.write(sum1 + "<br>")

    //do while
    var sum2 = 0
    var k = 1
    do{
        sum2 += k
        k++
    }while (k <= 400)
    document.write(sum2)
  </script>
</body>
</html>

函数定义

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Function in JS</title>
</head>
<body>
    <script>
        //JS定义函数,参数不需要类型,返回值也不用写类型,直接函数体内return就行
        function add(a,b){
            return a + b
        }

        var rs = add(11,22)
        document.write(rs + "<br>")
        //参数个数可以跟函数定义的形参个数不一样,但又没效果不保证
        var rs1 = add(33,44,55)
        document.write(rs1 + "<br>")
        var rs2 = add(66)
        document.write(rs2 + "<br>")//此处结果是个NaN

        //JS定义函数的第二种方法,直接用一个var 接收函数的结果
        var minus = function (a,b){
            return b - a
        }

        var rs3 = minus(30,20)
        document.write(rs3 + "<br>")

    </script>
</body>
</html>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值