JavaScript基础知识(二)

一. JavaScript组成

     ECMAScript   核心

     DOM        文档对象模型

     BOM        浏览器对象模型

二. 数据类型

    ECMAScript中有5种简单数据类型(也称为基本数据类型):Undefined、Null、Boolean、Number、和String。还有一种复杂的数据类型Object。

    1.typeof操作符

         返回的字符串:

         “undefined”    //如果这个值未定义

         “boolean”     //如果这个值是布尔值;布尔值:true,false

          “string”        //如果这个值是字符串;

          “number”        //如果这个值是数值;

          “object”        //如果这个值是对象或null;

          “function”        //如果这个值是函数;

    2.Undefined类型

         Undefined类型只有一个值,即特殊的undefined。在使用var声明变量但未对其加以初始化时,这个变量的值就是undefined。

    3.Null类型

         Null类型是第二个只有一个值的数据类型,这个特殊的值是null。从逻辑角度上来看,null值表示一个空对象指针,而这也正是使用typeof操作符检测null值会返回”object”的原因。

    4.Boolean类型

        Boolean类型只有两个字面值:true和false。这两个值与数字值不是一回事,因此true值不一定等于1,false值也不一定等于0。

    5.Number类型

         1).最基本的数字面量格式是十进制:

                var intNum=55;  //整数

            八进制字面量的第一位必须是零:

                var octalNum=070;  //八进制的56

            十六进制字面量的前两位必须是0x:

                var hexlNum=0xA;  //十六进制的10

         2).浮点数值

              var floatNum=1.1;

         3).数值范围

              负数,则被转换成-Infinity(负无穷);

              正数,则被转换成Infinity(正无穷)。

         4).NaN

              即非数值,是一个特殊的数值,这个数值用于表示一个本来要返回数值的操作数未返回数值的情况。

         5).数值转换

             有3个函数可以把非数值转化成数值:Number()、parseInt()和parseFloat()。第一个函数,即转型函数Number()可以用于任何数据类型,而另两个函数则专门用于把字符串转换成数值

              Number()函数的转换规则如下:

                 如果是Boolean值,true和false将分别被转换为1和0
                 如果是是数字值,只是简单的传入和返回
                 如果是null值,返回0
                 如果是undefined,返回NaN
                 如果是字符串,遵循下列规则:
                 如果字符串中只包含数字,则将其转换为十进制数值,级“1”会变成1,“123”会变成123,而“011”会变成11(前面的0被忽略了)
                 如果字符串中只包含有效的浮点格式,如“1.1”,则将其转换为对应浮点数值(同样,也会忽略前导零)
                 如果字符串中只包含有效的十六进制格式,例如“0xf”,则将其转换为相同大小的十进制整数值
                 如果字符串是空的(不包含任何字符),则将其转换为0
                 如果字符串中包含除上述格式之外的字符,则将其转换为NaN
                 如果是对象,则调用对象的valueOf()方法,然后依照前面的规则转换返回的值。如果转换的结果是NaN,则调用对象的toString()把各种数据类型转换为数值确实有点复杂。

    6.String类型

          String类型用于表示由零或多个16位Unicode字符组成的字符序列,即字符串。字符串可以由双引号(“”)或单引号(‘’)表示。

    7.Object类型

          这个值是对象或null。ECMAScript中的对象是一组数据和功能的集合。

                var o=new Object();

三.日期对象

     var time=new Date();    

     var y=time.getFullYear();    //获取当前年份

     var m=time.getMonth()+1;   //获取当前月份

     var d=time.getDate();       //获取当前日

     var h=time.getHours();       //获取当前小时数

     var m1=time.getMinutes();     //获取当前分钟数

     var s=time.getSeconds();         //获取当前秒数

     document.write(y+"年"+m+"月"+d+"日"+h+":"+m1+":"+s);

四.数学对象Math

   1.

      1). Math.E   

         Math.E属性代表算术常量e,即自然对数的底数,其值近似于2.71828。

      2).Math.LN2                          

         此属性就是loge2,即2的自然对数,其值近似于0.69314718055994528623。      

      3).Math.LN10

         Math.LN10就是loge10,即10的自然对数,其值近似于 2.3025850929940459011。

      4).Math.LOG2E

         Math.LOG2E就是log2e,即以2为底e的对数,其值近似于1.442695040888963387。

      5).Math.LN10

         Math.LN10就是loge10,即10的自然对数,其值近似于 2.3025850929940459011。

      6).Math.PI

         Math.PI属性就是π,即圆的周长和它的直径之比。

      7).Math.SQRT1_2

         Math.SQRT1_2属性返回2的平方根的倒数,这个值近似为0.7071067811865476。

      8).Math.SQRT2

         Math.SQRT2属性返回2的平方根,此值近似为 1.4142135623730951。      

   2.Math.abs()      //返回数值的绝对值。

   3.Math.sin()      //返回一个数字的正弦。

   4.Math.cos()      //返回指定数字的余弦。

   5.Math.acos()    //返回一个数的反余弦。

   6.Math.asin()    //返回一个数的反正弦值。

       注:如果参数x超过了-1.0 ~ 1.0的范围,那么浏览器将返回NaN。parameter:必需、必须是一个数值,该值介于-1.0 ~ 1.0之间。

   7.Math.acos()    //返回一个数的反余弦。

   8.Math.atan()    //返回数字的反正切值。

   9.Math.ceil()   //将数字进行向上取整。

   10.Math.floor()   //将数字进行向下取整。

   11.Math.max()    //返回指定的数中较大的一个。

       console.log(Math.max());

            //如果没有参数,则返回-Infinity。

       console.log(Math.max(NaN,5));

           //如果某个参数为NaN,则返回NaN。

       console.log(Math.max(6,5));

             //筛选两个参数中最大的那个数字,6。

   12.Math.min()   //返回指定数字中较小的一个。

       console.log(Math.min());

          //如果没有参数,则返回Infinity。

       console.log(Math.min(NaN,5));

           //如果某个参数为NaN,则返回NaN。

       console.log(Math.min(4,5));

           //筛选参数列表中的最小值,4。

   13.Math.pow()   //返回x的y次幂的值。

         Math.pow(x,y)

              //x:必需,底数,必须是数字。

              //y:必需,幂数,必须是数字。

        console.log(Math.pow(4,5));

   14.Math.sqrt(x)   //返回一个数的平方根。

      console.log(Math.sqrt(4));

   15.Math.round()   //对参数进行四舍五入操作。

   16.Math.random()   //返回介于0 ~ 1之间的一个随机数。

         特别说明:返回值包括0,但是不包括1。

五.倒计时时间

     var time=new Date();

     var furter=new Date(2017,6,11,0,0,0);

     var dis=(Math.floor((furter.getTime()-time.getTime())/1000));         

     var d=Math.floor(dis/86400);    //天

     var h=Math.floor(dis%86400/3600);   //时

     var m=Math.floor(dis%86400%3600/60);   //分

     var s=Math.floor(dis%60);    //秒

六.定时器

     function go(){

          alert(1);

     }go();

     setInterval(go,1000);    //1000ms=1s

   1.时间定时器

<!DOCTYPE html>

<html>

<head>

    <meta charset="UTF-8">

    <title></title>

</head>

<body>

    <div id="box">

    </div>

    <script>

    var obox=document.getElementById("box");

    function go(){

     var time=new Date();

       var y=time.getFullYear();

       var m=time.getMonth()+1;

       var d=time.getDate();

       var h=time.getHours();

       var m1=time.getMinutes();

       var s=time.getSeconds();

       obox.innerHTML=y+"年"+m+"月"+d+"日"+h+"时"+m1+"分 "+s+"秒";

    }

    go();

    setInterval(go,1000);

    </script>

</body>

</html>

  2.倒计时计时器

         <!DOCTYPE html>

<html>

<head>

    <meta charset="UTF-8">

    <title></title>

</head>

<body>

    <div id="box">

    </div>

    <script>

    var obox=document.getElementById("box");

    function go(){

    var time=new Date();

        var furter=new Date(2017,6,11,0,0,0);

        var dis=(Math.floor((furter.getTime()-time.getTime())/1000));

        var d=Math.floor(dis/86400);

        var h=Math.floor(dis%86400/3600);

        var m=Math.floor(dis%86400%3600/60);

        var s=Math.floor(dis%60);

        obox.innerHTML=d+"天"+h+"小时"+m+"分钟"+s+"秒";

    }

    go();

    setInterval(go,1000);

    </script>

</body>

</html>

   3.钟表计时器

<!DOCTYPE html>

<html>

<head>

   <meta charset="UTF-8">

   <title></title>

   <style>

   html,body{margin: 0;padding: 0;}

   div{width: 600px;height: 600px;}

   #box{background: url(clock.jpg) no-repeat center center ;margin: 0 auto;}      //url中插入表盘图片

  #h{background: url(hour.png) no-repeat center center;position: absolute;}     //url中插入时针图片

   #m{background: url(minute.png) no-repeat center center;position: absolute;}     //url中插入分针图片

  #s{background: url(second.png) no-repeat center center;position: absolute;}         //url中插入秒针图片

   </style>

</head>

<body>

   <div id="box">

   <div id="h">

   </div>

   <div id="m">

   </div>

   <div id="s">

   </div>

   </div>

   <script>

   var oh=document.getElementById("h");

   var om=document.getElementById("m");

   var os=document.getElementById("s");

   function go(){

   var time=new Date();

   var h=time.getHours();

   oh.style.transform='rotate('+h*30+'deg)';

   var m=time.getMinutes();

   om.style.transform='rotate('+m*6+'deg)';

   var s=time.getSeconds();

   os.style.transform='rotate('+s*6+'deg)';

   }

   go();

   setInterval(go,1000);

   </script>

</body>

</html>

七.选项卡

  1.选项卡顺序

<!DOCTYPE html>

<html>

<head>

    <meta charset="UTF-8">

    <title></title>

    <style>

     #ul1 li{width: 300px;height: 50px;background: greenyellow;list-style: none;text-align: center;margin-bottom: 10px;line-height: 50px;}

    </style>

</head>

<body>

    <ul id="ul1">

    <li>1</li>

    <li>2</li>

    <li>3</li>

    <li>4</li>

    <li>5</li>

    <li>6</li>

    </ul>

    <script>

    var oli=document.getElementById("ul1").getElementsByTagName("li");

    for(var i=0;i<oli.length;i++){

    oli[i].on=i;

    oli[i].οnclick=function(){

    alert(this.on);

    }

    }

    </script>

</body>

</html>

  2.单项选项卡

        <!DOCTYPE html>

<html>

<head>

    <meta charset="UTF-8">

    <title></title>

    <style>

    *{font-size: 16px;padding: 0;margin: 0;}

    li{list-style: none;}

    #box{width: 488px;margin: 20px auto;border: 1px solid #ADFF2F;}

 #box li{float: left;width: 120px;height: 40px;text-align: center;line-height: 40px;font-family: "微软雅黑";border: 1px solid #ADFF2F;}

 #box div{clear: both;display: none;height: 60px;text-align: center;line-height: 60px;}

    #box div.active{display: block;}

    .red{background: #ADFF2F;}

    </style>

</head>

<body>

    <div id="box">

    <ul>

    <li>tab1</li>

    <li>tab2</li>

    <li>tab3</li>

    <li>tab4</li>

    </ul>

    <div class="active">111</div>

    <div>222</div>

    <div>333</div>

    <div>444</div>

    </div>

    <script>

    var oli=document.getElementById("box").getElementsByTagName("li");

    var odiv=document.getElementById("box").getElementsByTagName("div");

    //   alert(odiv.length);

               for(var i=0;i<oli.length;i++){

                 oli[i].on=i;

                 oli[i].οnclick=function(){

                 for(var i=0;i<oli.length;i++){

                 oli[i].className="";

                 odiv[i].style.display="none";

                 }

                 this.className="red";

                 odiv[this.on].style.display="block";

                 }

                }

    </script>

</body>

</html>

  3).多项选项卡

<!DOCTYPE html>

<html>

<head>

    <meta charset="UTF-8">

    <title></title>

    <style>

    *{font-size: 16px;padding: 0;margin: 0;}

L    i{list-style: none;}

    .box{width: 488px;margin: 20px auto;border: 1px solid #ADFF2F;}

 .box li{float: left;width: 120px;height: 40px;text-align: center;line-height: 40px;font-family: "微软雅黑";border: 1px solid #ADFF2F;}

 .box div{clear: both;display: none;height: 60px;text-align: center;line-height: 60px;}

    .box div.active{display: block;}

    .red{background: #ADFF2F;}

    </style>

</head>

<body>

    <div class="box" id="tet">

    <ul>

    <li>tab1</li>

    <li>tab2</li>

    <li>tab3</li>

    <li>tab4</li>

    </ul>

    <div class="active">111</div>

    <div>222</div>

    <div>333</div>

    <div>444</div>

    </div>

    <div class="box" id="tet1">

    <ul>

    <li>tab1</li>

    <li>tab2</li>

    <li>tab3</li>

    <li>tab4</li>

    </ul>

    <div class="active">111</div>

    <div>222</div>

    <div>333</div>

    <div>444</div>

    </div>

    <div class="box" id="tet2">

    <ul>

    <li>tab1</li>

    <li>tab2</li>

    <li>tab3</li>

     <li>tab4</li>

    </ul>

    <div class="active">111</div>

    <div>222</div>

    <div>333</div>

    <div>444</div>

    </div>

    <script>

    tab("tet","click");

    tab("tet1","click");

    tab("tet2","click");

    function tab(id,event){

    var oid=document.getElementById(id);

    var oli=oid.getElementsByTagName("li");

    var odiv=oid.getElementsByTagName("div");

    for(i=0;i<oli.length;i++){

    (function(index){

    oli[index].addEventListener(event,

function(){

                         for(var i=0;i<oli.length;i++){

                         oli[i].className="";

                         odiv[i].style.display="none";

                        }

                        this.className="red";

                        odiv[index].style.display="block";

    })

   })(i)

    }

    }

    </script>

</body>

</html>

 

附件1(验证码):

<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title></title>

<style>

body,html{margin: 0;padding: 0;font-size: 26px;text-align: center;font-family: "微软雅黑";line-height: 35px;}

#box {width: 260px;height: 100px;padding: 20px;background: #ccc;margin: 30px auto;}

#txt1{width: 100px;height: 35px;padding: 5px 10px;float: left;margin-right: 10px;font-size: 26px;text-align: center;font-family: "微软雅黑";line-height: 35px;}

#yzm{width: 100px;height: 35px;padding: 5px 10px;float: left;background: #ffffff;}

button{width: 220px;height: 35px;margin-top: 10px;margin-left: 5px;background: green;border: 1px solid green;color: white;font-size: 16px;}

</style>

</head>

<body>

<div id="box">

<input type="text" id="txt1" />

<span id="yzm"></span>

<button>确定</button>

</div>

<script>

var oinput = document.getElementsByTagName("input")[0];

var ospan = document.getElementsByTagName("span")[0];

var obtn=document.getElementsByTagName("button")[0];

//验证码

var arr = ["1", "2", "3", "4", "5", "6", "7", "8", "9", "0", "q", "w", "e", "r", "t", "y", "u", "i", "o", "p", "a", "s", "d", "f", "g", "h", "j", "k", "l", "z", "x", "c", "v", "b", "n", "m"];

var length=arr.length;

var str="";

function yanzheng(){

for(var i=0;i<6;i++){

var num=Math.floor(Math.random()*length);

str+=arr[num];

}

ospan.innerHTML=str;

}

yanzheng();

//点击确定

obtn.οnclick=function(){

if(oinput.value==""){

alert("请输入验证码!");

}

else if(oinput.value.toLowerCase()!=ospan.innerHTML.toLowerCase()){

alert("验证码错误!");

oinput.value="";

}

else{

alert("验证码正确。");

}

}

</script>

</body>

</html>

附件2(斑马线):

<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title></title>

<style>

table{width: 100%;height: 500px;}

table td{border: 1px solid #ADFF2F;}

</style>

</head>

<body>

<table cellpadding="0" cellspacing="0">

<tr>

<td></td>

</tr>

<tr>

<td></td>

</tr>

<tr>

<td></td>

</tr>

<tr>

<td></td>

</tr>

<tr>

<td></td>

</tr>

<tr>

<td></td>

</tr>

<tr>

<td></td>

</tr>

<tr>

<td></td>

</tr>

</table>

<script>

var tab=document.getElementsByTagName("table")[0];

var otr=tab.getElementsByTagName("tr");

// alert(otr.length)

            for(i=0;i<otr.length;i++){

             if(i%2==0){

             otr[i].style.background="#ADFF2F";

             }

             else{

             otr[i].style.background="pink";

             }

            }

</script>

</body>

</html>

 

 

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值