• Unit04: JavaScript 概述 、 JavaScript 基础语法 、 流程控制


        Unit04: JavaScript 概述 、 JavaScript 基础语法 、 流程控制    

    my.js

    function f3() {
        alert("唐胜伟");
    }

    demo1.html  演示点击按钮,弹出提示框

    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title>Insert title here</title>
    <!-- 2.嵌入式:在script标签里写js.
        该标签可以写在网页任意位置,但通常写在head里. -->
    <script>
        //js的注释是这样的
        /*也可以是这样的*/
        
        //js函数的规则:
        //1.js的函数都是公有的
        //2.js的函数不用声明返回值类型
        //3.js的函数可以声明参数
        function f2() {
            //js中不区分单引号和双引号
            alert("范传奇");
        }
    </script>
    <!-- 3.文件调用式:在单独的js文件中写JS.
        将文件引入就相当于将文件内的代码复制到此处.
        注意:script不能既引入js又写js. -->
    <script src="my.js"></script>
    </head>
    <body>
        <!-- 
            事件:就是用户的操作/动作,也是js被
            调用的时机.如:单击事件、双击事件.
         -->
        <!-- 1.事件定义式:在定义事件时直接写js. -->
        <input type="button" value="按钮1"
            onclick="alert('苍老师');"/>
        <input type="button" value="按钮2"
            onclick="f2();"/>
        <input type="button" value="按钮3"
            onclick="f3();"/>
    </body>
    </html>

    demo2.html  js的数据类型及转换

    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title>Insert title here</title>
    <script>
        //1.此处写的函数是在页面加载后,用户点击按钮时才调用的.
        //2.若此处不写函数,直接写js代码,则该代码在页面加载时直接调用,其调用时机比body还早.
        //alert(1);
        console.log("控制台打印");
        
        //1.声明变量
        var x;
        console.log(x);
        var y=2;
        console.log(y);
        //2.数据类型
        var s = "Hello";
        var n = 3.14;
        var b = true;
        //3.隐式转换
        console.log(s+n);
        console.log(s+b);
        console.log(n+b);
        console.log(b+b);
        //4.强制转换
        console.log(parseInt("2.5"));
        console.log(parseInt("3.6"));
        console.log(parseInt("abc"));
        //输出变量类型
        console.log(typeof(s));
        console.log(typeof(n));
        //NaN
        console.log(isNaN(s));
        console.log(isNaN(n));
        console.log(isNaN(b));
        //5.特殊情况
        console.log(parseInt(""));
        //不能转换成数字1
        console.log(parseInt(true));
        console.log(isNaN(""));
        console.log(isNaN(true));
        //6.运算符
        var a = "3";
        var b = 3;
        console.log(a==b);
        console.log(a===b);
        //7.条件表达式
        //js中可以用布尔值做条件,也可以用非布尔值做条件,
        //在使用非布尔值做条件时有一个原则:
        //一切非空的值等价余true,一切空值等价于false.
        //共5个空值:undefined,NaN,null,"",0
        //这样设计的目的是为了简化判断条件
        var p =9;
        if(p){
            console.log("非空");
        }
        //还有更萎缩的
        var k = 8;
        k && console.log("ok");
    </script>
    </head>
    <body>
        <p>js的语法和JAVA极为相似!</p>
    </body>
    </html>

    demo3.html 使用js实现计算平方小例子

    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title>Insert title here</title>
    <script>
        function pf() {
            console.log(1);
            //获取文本框
            var input = document.getElementById("num");
            console.log(input);
            //获取文本框内的值
            var n = input.value;
            console.log(n);
            //获取span
            var span = document.getElementById("result");
            //判断该值是不是数字
            if(isNaN(n)) {
                //不是数字,span里给予提示
                span.innerHTML = "请输入数字";
            } else {
                //是数字,计算其平方,结果写入span
                span.innerHTML = n*n;
            }
        }
    </script>
    </head>
    <body>
        <input type="text" id="num"/>
        <input type="button" value="平方"
            onclick="pf();"/>
        = <span id="result"></span>
    </body>
    </html>
    demo3.html

    demo4.html   使用js实现猜数字小游戏

    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title>Insert title here</title>
    <script>
        //页面加载时生成随机整数,即在用户未
        //看到body中的内容时就生成了该整数.
        var ran = parseInt(Math.random()*100);
        
        function guess() {
            //获取文本框内的值
            var n = 
                document.getElementById("num").value;
            //获取span
            var span = document.getElementById("result");
            //判断是否为数字
            if(isNaN(n)) {
                span.innerHTML = "请输入数字";
            } else {
                if(n<ran) {
                    span.innerHTML = "小了";
                } else if(n>ran) {
                    span.innerHTML = "大了";
                } else {
                    span.innerHTML = "对了";
                }
            }
        }
        
    </script>
    </head>
    <body>
        <input type="text" id="num"/>
        <input type="button" value="猜"
            onclick="guess();"/>
        <span id="result"></span>
    </body>
    </html>
    demo4.html

    demo5.html 使用js实现阶乘小例子

    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title>Insert title here</title>
    <script>
        function jc() {
            var n = 
                document.getElementById("num").value;
            var span = 
                document.getElementById("result");
            if(isNaN(n)) {
                span.innerHTML = "请输入数字";
            } else {
                if(n<0) {
                    span.innerHTML = "负数没有阶乘";
                } else if(n==0) {
                    span.innerHTML = 1;
                } else {
                    var s = 1;
                    for(var i=n;i;i--) {
                        s *= i;
                    }
                    span.innerHTML = s;
                }
            }
        }
    </script>
    </head>
    <body>
        <p>1.负数没有阶乘</p>
        <p>2.0的阶乘是1</p>
        <p>3.正整数n的阶乘=1*2*...*n</p>
        <p>
            <input type="text" id="num"/>
            <input type="button" value="阶乘"
                onclick="jc();"/>
            = <span id="result"></span>
        </p>
    </body>
    </html>
    demo5.html

    demo6.html  用户登录验证小例子

    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title>Insert title here</title>
    <style>
        .ok{color:green;}
        .error{color:red;}
    </style>
    <script>
        //验证账号的格式
        function checkCode() {
            console.log(1);
            //获取账号
            var code = 
                document.getElementById("code").value;
            //获取span
            var span = 
                document.getElementById("code_msg");
            //验证账号格式
            var reg = /^w{5,10}$/;
            if(reg.test(code)) {
                span.className = "ok";
            } else {
                span.className = "error";
            }
        }
        //验证密码格式
        function checkPwd() {
            var pwd = 
                document.getElementById("pwd").value;
            var span = 
                document.getElementById("pwd_msg");
            var reg = /^w{10,15}$/;
            if(reg.test(pwd)) {
                span.className = "ok";
            } else {
                span.className = "error";
            }
        }
    </script>
    </head>
    <body>
        <form action="http://www.tmooc.cn">
            <p>
                账号:<input type="text" id="code"
                    onblur="checkCode();"/>
                <span id="code_msg">5-10位字母、数字、下划线</span>
            </p>
            <p>
                密码:<input type="password" id="pwd"
                    onblur="checkPwd();"/>
                <span id="pwd_msg">10-15位字母、数字、下划线</span>
            </p>
            <p><input type="submit" value="登录"/></p>
        </form>
    </body>
    </html>
    demo6.html
  • 相关阅读:
    CF终于上紫了。。。
    CF567F/51nod2522 上下序列
    bzoj 前100题计划
    CF1110G Tree-Tac-Toe 博弈论、构造
    BZOJ4816 SDOI2017 数字表格 莫比乌斯反演
    UOJ400/LOJ2553 CTSC2018 暴力写挂 边分治、虚树
    Luogu4774 NOI2018 屠龙勇士 ExCRT
    CF1039D You Are Given a Tree 根号分治、二分、贪心
    CF1056E Check Transcription 字符串哈希
    Luogu4345 SHOI2015 超能粒子炮·改 Lucas、数位DP
  • 原文地址:https://www.cnblogs.com/tangshengwei/p/6380222.html
Copyright © 2020-2023  润新知