JavaScript(2)网页时钟,String,数组

JavaScript(二),
一,案例:利用CSS和html做出一个QQ登陆的页面。

<style type="text/css">
#div1{
    width:300px;
    height:300px;
    border:1px solid #F00;
    margin-left:500px;
    margin-top:200px;
    background-image:url(05.%E7%B4%A0%E6%9D%90/1.jpg);
    background-repeat:no-repeat;
    background-position:top center}

#userDiv{
    margin-left:50px;
    margin-top:100px;
    }

#passwordDiv{
    margin-left:50px;
    margin-top:10px;
    }

#btnDiv{
    margin-left:100px;
    margin-top:10px;
    }

#inputUser{

    background-image:url(05.%E7%B4%A0%E6%9D%90/head.png);
    background-repeat:no-repeat;
    background-position:center left;
    padding-left:30px;}

#inputpassword{

    background-image:url(05.%E7%B4%A0%E6%9D%90/key.jpg);
    background-repeat:no-repeat;
    background-position:center left;
    padding-left:30px;}

</style>
</head>

<body>
<div id="div1">
    <form>
        <div id="userDiv">用户名:<input type="text" id="inputUser" /></div>
        <div id="passwordDiv">密&nbsp;&nbsp;码:<input type="password" id="inputpassword" /></div>
        <div id="btnDiv"><input type="button" value="登陆"/><input type="button" v````
lue="注册"/></div>
    </form>
</div>

</body>

1,流程控制语句

<script type="text/javascript">
/*
    if语句
        if(表达式){
            语句  
        }else{
            语句
        }

        条件可以是:
            布尔值:true:成立 ; false:不成立
            number:非0:成立; 0: 不成立
            string: 非空字符串: 成立 ; 空字符串: 不成立
            object: 非null: 成立;  null:不成立


    swtich语句
        swtich(变量){
        case 选项1:
            语句;
            break;  如果不break,就会继续下面选项的语句    
        case 选项2::
            语句;
            break;
        default:
            默认;
        }

    注意:在js中的switvch语句中的case选项的值:
    1.可以选择常量,String类型或者number类型
    2.case选项中的值还可以是变量
    3.在java中case选项中的值只能是常量不能是变量
    4.case选项还可以是表达式


    for语句:
    for(初始化语句;条件判断语句;流程控制语句){
        循环体语句
    }

    需求:页面上打印十次helloworld
    需求:对1-100进行求和


    while语句
    初始化语句
    while(条件判断语句){ 
    循环体语句;
    条件控制语句;
    }

    执行流程:

    需求:在页面上打印十次helloworld;


    do-while语句
    初始化语句;
    do{
        循环体语句;
        条件控制语句;
    }while(判断条件语句)

    需求:在页面上打印十次helloworld;

*/

/*
    if(null){
        alert("条件成立");
        }else{
            alert("条件不成立");
            }*/

    /*      
    var choice = "b";   
    var b = "b";
    switch(choice){
        case "a":
        alert("您选择了a");
        break;
        case b:
        alert("您选择了b");
        break;
        case "c":
        alert("您选择了c");
        break;
        default:
        alert("您的选项不存在");
        break;
        }*/


    /*
    var age = 19;
    switch(true){
        case age>=18:
        alert("你是成年人");
        break;

        case age<18:
        alert("未成年人禁止入内");
        break;

        }*/

    //需求:页面上打印十次helloworld
    /*
    for(var i=0;i<10;i++){
        document.write("helloword");
        document.write("<br>");
        }   

    //需求:对1-100进行求和
    var sum = 0;
    for(var i = 1;i<=100;i++){
        sum+=i;
        }   
    document.write(sum);*/

    /*  
    var i = 0;
    while(i<10){
        document.write("helloword");
        document.write("<br>");
        i++;
        }*/


    var i = 0;
    do{
        document.write("helloword");
        document.write("<br>");
        i++;
        }while(i<10);







</script>
</head>

<body>
</body>

2,with语句:方便函数的调用
with(对象){
直接写对象的方法}

  with(document){
    var i = 0;
    do{
        write("helloword");
        write("<br>");
        i++;
        }while(i<10);

       }

3.js中的函数中的定义

<script type="text/javascript">
/*
    js中的函数定义:
    function 函数名(形式参数列表){函数体}

    函数定义中需要注意的问题:
    1.在js中函数的定义的参数列表不需要写var
    2.js中的函数可以有返回值,无需声明返回值类型,只需要通过return这个关键字返回结果即可
    3.js中没有方法重载的概念,如果方法名相同,后面的方法就会覆盖前面的方法
    4.在我们js中的每一个函数中都存在一个arguments数组,这个数组就是用来接受我们的所有的实际参数的,接收完毕之后
    给我们的函数的形式参数从左到右依次赋值


    js函数的调用:
    1.如何调用:函数名称(实际参数)
    2.实际参数个数<形式参数个数   NaN  
    3.实际参数个数>形式参数个数   会拿着你的所有的实际参数给你的形式参数从左到右依次赋值,后面多余的形式参数直接舍弃

*/
    //定义一个函数,a和b的加法
    function add(a,b){
        alert(arguments.length);
        var res = a+b;
        return res;
        }


    //定义一个3个数相加的add方法
    /*
    function add(a,b,c){
        var res= a+b+c;//1+2+c;
        return res;
        }*/



    var sum = add(2,2,3);
    document.write(sum);



</script>

4.查询每个月份对应的天数
添加一个函数,

<script type="text/javascript">
    //当我的按钮的单击事件被触发以后需要执行的操作
    function checkMonth(){
        //获取单行输入域内的用户输入的月份值
        var month = document.getElementById("month").value;
        //使用if语句做判断,给出相应的提示
        /*
        1,3,5,7,8,10,12  大月 31天
        4,,6,9,11  小月  30天
        2  小小月  28天
        */
        if(month==1||month==3||month==5||month==7||month==8||month==10||month==12){     
            alert("该月有31天");
            }else if(month==4||month==6||month==9||month==11){
                alert("该月有30天");
                }else if(month==2){
                    alert("该月有28天");
                    }else{
                        alert("星球上没有这个月份");
                        }


        }

</script>
</head>

<body>
请输入你需要查询的月份:<input type="text" id="month"/>
<!--在这里需要给我的button标签添加一个单击事件-->
<input type="button" value="查询天数" onclick="checkMonth()" />

</body>

5.String中的方法的使用

<script type="text/javascript">
/*
1.String对象定义
方式1:var s1 = new String("hello");
方式2:var s2 = "hello";

charAt(索引): 返回指定索引的内容
indexOf(字符串): 返回首次出现指定字符的索引位置
lastIndexOf(字符串): 返回最后出现指定字符的索引位置
fontcolor("red"): 直接给字符串添加颜色
split("字符串"): 使用指定字符串切割字符串,返回字符串数组
substring(start,end); 截取字符串,start:开始索引, end:结束索引
substr(strat,[length]) 截取字符串, start:开始索引 length: 截取的字符串长度


*/
    var s1 = new String("hello");
    var s2 = new String("hello");
    document.write(s1==s2);
    document.write("<br>");

    //valueOf(),这个方法是取出对象中的内容
    document.write(s1.valueOf()==s2.valueOf());
    document.write("<br>");

    //创建字符串的方式2:直接赋值
    var s3 = "hello";
    var s4 = "hello";
    document.write(s3==s4);
    document.write("<br>");

    document.write("<hr>");

    //charAt(索引): 返回指定索引的内容
    document.write(s1.charAt(1));
    document.write("<br>");

    //indexOf(字符串): 返回首次出现指定字符的索引位置
    document.write(s1.indexOf("e"));
    document.write("<br>");

    //lastIndexOf(字符串): 返回最后出现指定字符的索引位置
    document.write(s1.lastIndexOf("l"));
    document.write("<br>");

    //fontcolor("red"): 直接给字符串添加颜色
    s3 = s3.fontcolor("red");
    document.write(s3);
    document.write("<br>");

    var s5 = "java-php-web";
    //split("字符串"): 使用指定字符串切割字符串,返回字符串数组
    var arr = s5.split("-");
    for(var i =0;i<arr.length;i++){
        document.write(arr[i]);
        document.write("<br>");
        }

    document.write("<br>");
    //substring(start,end); 截取字符串,start:开始索引, end:结束索引
    document.write(s4.substring(0,2));
    document.write("<br>");

    //substr(strat,[length]) 截取字符串, start:开始索引 length: 截取的字符串长度
    document.write(s4.substr(0,2));


</script>

6.boolean对象和Number对象的区别:

<script type="text/javascript">
    //Boolean对象
    var b1 = new Boolean(true);
    var b2 = new Boolean(true);
    document.write(b1==b2);
    document.write("<br>");
    document.write(b1.valueOf()==b2.valueOf());
    document.write("<br>");


    //Number对象
    var n1 = new Number(10);
    //document.write(n1);
    var n2 = new Number(10);
    document.write(n1==n2);
    document.write("<br>");
    document.write(n1.valueOf()==n2.valueOf());

</script>

7.Math中的一些方法的使用:

<script type="text/javascript">
/*
            Math对象
            常用的方法:
            1)ceil(): 向上取整。 如果有小数部分的话,直接+1
            2)floor(): 向下取整。如果有小数部分的话,直接丢失小数部分,保利整数位
            3) round(): 四舍五入取整。满5进一
            4)random(): 生成一个随机的0-1的小数 .包含0,不包含1
            5)max(): 返回最大值
            6)min(): 返回最小值 
            var num = 3.50;
            document.write(Math.ceil(num)+"<br/>");
            document.write(Math.floor(num)+"<br/>");
            document.write(Math.round(num)+"<br/>");
            document.write(Math.round(Math.random()*100)+"<br/>");
            document.write(Math.max(10,6,54,23,76)+"<br/>");
            document.write(Math.min(10,6,54,23,76)+"<br/>");
*/
    var i = 3.14;
    //1)ceil(): 向上取整。 如果有小数部分的话,直接+1
    document.write(Math.ceil(i));
    document.write("<br>");

    //2)floor(): 向下取整。如果有小数部分的话,直接丢失小数部分,保利整数位
    document.write(Math.floor(i));
    document.write("<br>");

    //3) round(): 四舍五入取整。满5进一
    document.write(Math.round(i));
    document.write("<br>");

    //4)random(): 生成一个随机的0-1的小数 .包含0,不包含1
    document.write(Math.random());
    document.write("<br>");

    //5)max(): 返回最大值
    document.write(Math.max(2,3,5,7));
    document.write("<br>");


    //6)min(): 返回最小值 
    document.write(Math.min(2,3,5,7));


</script>

8.猜数字游戏的案例,网页版

<script type="text/javascript">
    //生成随机数
    var num = Math.floor(Math.random()*100+1);
    alert(num);
    function checkNumber(){
        //1.获取输入狂内部输入的数字
        var inputNumber = document.getElementById("inputNumber").value;

        //将数字的类型进行转换
        inputNumber = parseInt(inputNumber);

        //做if判断并给出提示
        if(inputNumber>num){
            alert("大了");
            }else if(inputNumber<num){
                alert("小了");
                }else if(inputNumber==num){
                    alert("对了");
                    }

        }

</script>
</head>

<body>
请输入你猜测得数字:<input type="text" id="inputNumber" />
<input type="button" onclick="checkNumber()" value="猜数字" />

</body>

9.Data对象及方法的使用

<script type="text/javascript">
    //创建一个date对象
    var date = new Date();
    document.write(date);
    document.write("<br>");

    //在java中我们使用日期的格式化对象SimapleDateFormat() 给一个模式:yyyy-MM-dd 
    //document.write(date.getYear());
    document.write("<br>");
    //获取年份
    document.write(date.getFullYear()+"年");
    //获取月份
    document.write(1+date.getMonth()+"月");
    //获取日期
    document.write(date.getDate()+"日&nbsp;&nbsp;");

    //获取时
    document.write(date.getHours()+"时");
    //获取分
    document.write(date.getMinutes()+"分");
    //获取秒
    document.write(date.getSeconds()+"秒");


</script>

10.案例:做一个网页时钟:

<script type="text/javascript">

    //创建一个获取当前时间的方法
    function getTime(){
        //获取span标签对象
        var spanTime = document.getElementById("sapnTime");
        //创建日期对象
        var date = new Date();
        //获取年月日,时分秒进行字符串拼接
        var time = date.getFullYear()+"-"+(date.getMonth()+1)+"-"+date.getDate()+"&nbsp;&nbsp;"+date.getHours()+"-"+date.getMinutes()+"-"+date.getSeconds();

        //给标签体设置内容,innerHTML这个属性
        spanTime.innerHTML=time;

        }

    //调用设置时间的方法
    //getTime();//这样的方式对上面设置时间的方法只调用了一次,所以我们的时间无法实现动态的设置变化

    //如果需要让时间动起来的话,我们需要每隔一秒调用getTime()这个方法一次
    window.setInterval("getTime()",1000);
    //参数1:调用的函数名称   参数2:每隔多久调用一次,调用的次数没有限制


</script>

11.js中的数组问题:

<script type="text/javascript">
    /*
    js中数组的创建方式:
    方式1:用new的方式创建数组
        1.1:var arr = new Array(3); 创建数组指定长度
        1.2 var arr = new Array(); 创建数组不指定长度
        1.3 var arr = new Array("hello",100,200); 创建数组并给数组的元素赋值


    方式2:直接赋值
        var arr = [100,"hello",200];



    数组创建需要注意:
    1.在js中数组的长度是可变的,他可以根据添加进来的多出来的元素进行自动的扩容
    如果早java中是不可以的,会出现数组索引越界异常
    2.js中的数组中可以添加多了不同类型的元素


    常用的方法:
    join(字符串): 使用指定的字符串,把数组的所有元素连接在一起,最终组成一个新的字符串
    reverse(): 反转数组中的元素

    */
    //1.1:var arr = new Array(3);
    var arr = new Array(3);
    arr[0] = 100;
    arr[1] = 200;
    arr[2] = 300;
    arr[3] = 400;

    //1.2 var arr = new Array(); 创建数组不指定长度
    var arr2 = new Array();
    arr2[0] = 100;
    arr2[1] = true;
    arr2[2] = "hello";


    //1.3 var arr = new Array("hello",100,200);
    var arr3 = new Array(100,200,300);


    //方式2:创建数组,并给数组直接赋值不需要new
    var arr4 = [100,200,"world"];


    //便利数组
    for(var i=0;i<arr4.length;i++){
        document.write(arr4[i]);
        document.write("<br>");
        }


    document.write("<hr>");
    //join(字符串): 使用指定的字符串,把数组的所有元素连接在一起,最终组成一个新的字符
    var arr5 = ["jave","php","web"];
    var str = arr5.join("-");
    document.write(str);

    document.write("<br>");

    //reverse(): 反转数组中的元素
    arr5 = arr5.reverse();
    for(var i=0;i<arr5.length;i++){
    document.write(arr5[i]);
    document.write("<br>");
    }


</script>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值