JavaScript学习 第二周

if else 条件判断

if

    if(条件式){
                语句1;
            }else{
                语句2;
            }

条件式拓展:

  • ===:严格等于,数据类型和数值完全相等!!!

    举例 :3 == '3', true;
    :3 === '3',false;

  • !==:不严格等于。

switch 选择结构

简单的例子

举个例子

1:

    <script>
        var num;
        var flag;
        num = prompt("input your number.",1);
        num = Number(num); //必须加这个,否则会报错。
        switch(num){
            case 1:
            case 2:
            case 3:
                flag = 100; //当num等于1,2,3时
                break;
            case 4:
                flag = 200; //当num等于4时
                break;
            case 5:
                flag = 300;
                break;
            default:flag = 0;
        }
        alert(flag);
        alert(num);
    </script>

为什么不加那个句子会报错呢?

关于数据类型。

一般来说,在进行比较的时候,除非使用“===”这样的严格等于,JavaScript是会自动转换数据类型进行比较的。

然而方法prompt是“输入一个字符串”

但case里面必须是数值类型。

所以需要使用函数Number,将变量num中的字符串转换为数值,再次保存到变量month中。

函数

如Number一类,叫做函数。与方法不同,

与方法不同,函数的使用并不依赖对象。

for循环,while循环。

应用于制表

在网页制作时,需要用到循环来指表:

    <body>
        <table>
            <tr>
                <th>和历</th><th>西历</th>
            </tr>
            <script>
                var i;
                for (i = 1; i <= 10; i++){
                document.write("<tr><td>平成", i, "年</td>");
                document.write ("<td>", i + 1988, "年</td></tr>");
                }
            </script>
        </table>
        
    </body>

同样的,可以用while循环来执行这一制表过程。

    <body>
        <table>
            <tr>
                <th>和历</th><th>西历</th>
            </tr>
        <script>
            var MAX = 8;
            var i = 1;
            while (i <= MAX){
                    document.write("<tr><td>平成", i, "年</td>");
                    document.write ("<td>", i + 1988, "年</td></tr>");
                i++;
                }
        </script>
        <table>
    </body>

关于i++和++i

引用于java学习06:基本运算符
自增自减

  • b = a++:先执行这一行语句(赋值,把a此时的值赋给b),再自增

  • b = ++a:先自增,再执行这一行语句。

break终止循环。

函数与自定函数

简单介绍

  • 自定函数要写在head中
    伪代码如下:
        function 函数名(引数1,引数2……){
            代码块;
            retun 返回值;
        }

举个例子,进行一个简单的人民币转日元:

<!DOCTYPE html>
<head>
    <meta charset="UTF-8">
    <title>20201314吕荣祥</title>
    <style>
        
        body{
            background-color: aliceblue;
            font-size:larger;
            color: brown;
            text-align: center;
            
        }
    
    </style>

    <script>
        function rmbToYen(rmb,rate){
            var yen;
            yen = rmb*rate;
            return yen;
        }
    </script>
</head>
<body>
    <script>
        var rmb;
        rmb = prompt("input rmb",300);
        var yen1 = rmbToYen(rmb,15.306);
        document.write(rmb,"rmb = ",yen1,"円");
    </script>
</body>
</html>

没有难点

函数的有效范围(作用域)

  • 函数内定义的变量属于局部变量,只在函数内声效。
  • 全局变量不受局部变量的影响。
<head>
    <script>
        function testFunc(){
            num = 5;
        }
    </script>
</head>
<body>
    <script>
        var num = 3;
        testFunc();
        document.write(num);
    </script>
</body>

这段代码中,函数仅仅起到一个改变数值的作用。他只是将全局变量num从3改成5,所以输出5.

<head>
    <script>
        function testFunc(){
            var num;
            num = 5;
        }
    </script>
</head>
<body>
    <script>
        var num = 3;
        testFunc();
        document.write(num);
    </script>
</body>

而这段代码中,在函数里尝试定义一个局部变量num,并把它赋值为5。

但是它是一个局部变量,在最后的输出时他并不会被处理到。

所以最后输出还是3。

对象的生成

有使用时不需要生成的,也有必要生成的。

window对象,document对象…等等到上次为止学习的对象,是从一开始就可以使用的对象。

生成管理日期和时间的Date对象,并保存在变量now中。

    now = new Date();

介绍两个关键字:

  • new:生成对象时使用的特殊运算符

  • Date:将某个时间点的日期时间作为数据管理的对象

生成可用的对象成为实例。

    <script>
        var aDay;
        aDay = new Date(2022,3,9,14,50,35);//当前的时间
        document.write("<h1>",aDay.toString(),"</h1>");

    </script>

toString:是将对象的内容转换成字符串返回的方法。

在Date()中,其中的参数:

  • 如果省略的话,就会生成具有当前日期的实例。
  • 指定后,生成具有特定日期的实例。
  • 时间:24小时制。
  • 月:指定1月为0的数值。例如,指定4月的时候是“3”。
  • 如果把时间省略:作为0点0分0秒处理。

Date 方法的使用。

  • new Date();后 会生成一系列的实例,例如:
    getFullYear:返回年
    getMonth:返回月,但是0是1月,1是2月。。。
    getDate:返回日
    getDay:返回星期几。
    getHour:返回0~23小时。
    getMinutes:返回分钟
    getSeconds:返回秒
    getTime:从1970年1月1日0时0分0秒开始以毫秒返回经过的时间。

使用时如下:

    <script>
            var now, date;
            now = new Date();
            date = now.getFullYear();
            document.write("<h1>",date,"</h1>");
    </script>

Math 的使用

    var num = Math.max(5,2,9,10);

这里num会被赋为10;

    abs 绝对值
    exp e的p次方 Max.exp(p)
    pow pow(2,3) 就是2的三次方
    ceil 小数点向上取整
    floor 小数点向下取整
    round 小数点第一位四舍五入
    log 取对数
    max 最大值
    min 最小值
    random 0~1随机数
    sin 
    cos
    tan

实例方法和静态方法

实例方法要先now,比如Date。这里Date是对象,.后面的是方法。
静态方法比如Math,Math是对象。Math不用new就可以用后面的方法。

String 字符串操作

charAt 取出指定位置的文字
charCodeAt 把指定位置的字符的字符码放回(将Unicode转换成10准数后返回)
IndexOf 查找字符串的位置
split 把字符串转换成数组
substring 取出指定范围内的字符串的中间部分
toLowerCase 把半角英文字母转换成小写
toUppeCase 把半角英文字母转换成大写

使用例:

        <script>
            var str1 = new String("20201314 吕荣祥");
            document.write("<h1>",str1,"长:",str1.length,"</h1>");
            for(var i = 0; i <= (str1.length);i++){
                document.write("<h2>",str1.charAt(i),"</h2>");
            }
        </script>

顺带一提,摘星了。

posted @ 2022-03-16 23:24  晓梦ペ  阅读(24)  评论(0)    收藏  举报