JavaScript第二天学习笔记

JavaScript第二天学习笔记

主要是学习函数,返回值,算术运算符,条件语句,焦点事件,thi是,属性和方法,for循环等

1.1 函数(function)

  • 1.11 函数: 函数是由事件驱动的或者当它被调用时执行的可重复使用的代码块。
  • 1.12 函数声明 函数使用跟变量一样,需要 声明
  • 1.13 自定义函数
<script>
function fun(){
    alert("我是自定义函数");
};
fun();//函数不调用,自己不执行
</script>
  • 1.14 函数直接量声明
<script>
var fun1 = function(){
    alert("直接量声明");
};
fun1();//也需要调用
</script>
  • 1.15 利用Function 关键字声明
<script>
var fun2 = new Function("var a = 10; var b = 20; alert(a+b)");
fun2();
</script>
  • 1.16 变量声明提升
<script>
function fun(){
    console.log(num);
    var num = 10;
};
</script>

相当于

<script>
function fun(){
    var num;
    console.log(num);
    num = 10;
};
</script>

在函数体内部,声明变量,会把该声明提升到函数体的最顶端。( 只提升变量声明,不赋值。)

var a = 18;
function f1(){
    var b = 9;
    console.log(a);
    console.log(b);
    var a = '123';
};
  • 1.17 函数参数
<script>
function fn(a,b){
    console.log(a+b);
};
fu(1,2);
</script>

arguments是存储了函数传送过过来实参
Javascript在创建函数的同时,会在函数内部创建一个arguments对象实例.
arguments对象只有函数开始时才可用。函数的 arguments 对象并不是一个数组,访问单个参数的方式与访问数组元素的方式相同
arguments对象的长度是由实参个数而不是形参个数决定的

<script>
    function fn(a,b){
        console.log(fn.length);//得到的是函数形参的个数
        console.log(arguments);
        console.log(arguments.length);//得到的是实参的个数
        if(fn.length == arguments.length){
            console.log(a+b);
        }else{
            console.error("对不起,你测参数不匹配,正确的参数个数为:" + fn.length);
        };
        console.log(a+b);
    };
    fn(1,2);
    fn(1,2,3);
</script>
  • 1.18 鼠标展示
    图1显示的效果:这里写图片描述
    小图1:这里写图片描述
    小图2:这里写图片描述
    小图3:这里写图片描述
    小图4:这里写图片描述
    小图5:这里写图片描述
    大图1:这里写图片描述
    大图2:这里写图片描述
    大图3:这里写图片描述
    大图4:这里写图片描述
    大图5:这里写图片描述
<!DOCTYPE html>
<html>
<head lang="en">
    <meat charset="UTF-8">
    <title>鼠标展示 <title>
    <style>
    *{
        margin: 0;
        padding: 0;
    }
    #box{
        height: 70px;
        width: 360px;
        padding-top: 360px;
        border: 1px solid #ccc;
        margin: 100px auto;
        overflow: hidden;
        background: url(images/01big.jpg) no-repeat;
    }
    #box ul{
        overflow: hidden;
        border-top: 1px solid #ccc;
    }
    #box li{
        float: left;
    }
    </style>
</head>
<body>
<div id="box">
    <ul>
        <li id="li01"><img src="images/01.jpg" alt=""/></li>
        <li id="li02"><img src="images/02.jpg" alt=""/></li>
        <li id="li03"><img src="images/03.jpg" alt=""/></li>
        <li id="li04"><img src="images/04.jpg" alt=""/></li>
        <li id="li05"><img src="images/05.jpg" alt=""/></li>
    </ul>
</div>

<script>
//根据鼠标移到不同的小图显示不同的图片
window.onload = function(){
           /*  一共有五组   这些有哪些相同的部分:
              鼠标经过   背景更换图片    我们可以吧这两个放到一个函数里面 重复使用就可以*/
            //事件源    li   事件  鼠标经过   事件处理程序   box 更换背景
          /*  var li02 = document.getElementById("li02");
            var box = document.getElementById("box");
            li02.onmouseover = function(){
                box.style.backgroundImage = "url(images/02big.jpg)";
            }
            var li01 = document.getElementById("li01");
            var box = document.getElementById("box");
            li01.onmouseover = function(){
                box.style.backgroundImage = "url(images/01big.jpg)";
            }*/
            var box = document.getElementById("box");
            function fn(liid,bg){  // 封装函数  参数的传递
                var obj = document.getElementById(liid);
                obj.onmouseover = function(){
                    box.style.backgroundImage = bg;
                }
            }
            fn("li01","url(images/01big.jpg)"); // 实参  调用函数
            fn("li02","url(images/02big.jpg)");
            fn("li03","url(images/03big.jpg)");
            fn("li04","url(images/04big.jpg)");
            fn("li05","url(images/05big.jpg)");

        }
</script>
</body>
</html>
  • 1.19 返回值 return
    定义函数的返回值:
    在函数内部用return来设置返回值,一个函数只能有一个返回值。
<script>
function $(id){
    return document.getElementById(id);
};
$("test1").style.backgroundColor = 'purple';
$("test2").style.backgroundColor = "blue";
</script>

试分析一下代码的结果?

<script>
var total = 10;
var number = square(5);
alert(number);
function square(n){
    total = n*n;
    return total;
};
结果是: 25
</script>

1.2 算术运算符

      • / % ^
        1+1 = 2
        5%2 == 1
        2%5 == 2
        2^3
        A++ ++后置 每次自加1 先运算后自加

    ++a ++前置 每次自加1 先自加 后运算

分析以下代码:

<script>
var a = 10,b = 20, c = 30;
++a;
a++;
e = ++a+(++b)+(c++)+a++;
alert(e);
</script>

结果是: 77

1.3 条件语句(if)

if(条件表达式) { 语句;};
if() {}else {}
if() else if(){} else if(){} else{}

<script>
    for(var i=0; i<=100; i++)
    {
        if(i == 0)
        {
            document.write("他出生了<br/>");
        }
        else if(i == 25)
        {
            document.write("他结婚了<br/>");
        }
        else if(i ==45)
        {
            document.write("他有孙子了<br/>");
        }
        else if(i ==100)
        {
            document.write("他死了<br/>");
        }
        else
        {
            document.write("他"+ i+" 岁了<br/>");
        }
    }

</script>

1.4 获得焦点 失去焦点 事件

  • 获得焦点 onfocus
  • 失去焦点 onblur
    例1:表单自动获取焦点
<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title></title>
</head>
<body>
自动获得焦点:
<input type="text" id="txt"/>

鼠标经过选择表单:
<input type="text" id="select"/>

<script>
    window.onload = function(){
        var txt = document.getElementById("txt");
        var sele = document.getElementById("select");
        txt.focus(); //自动获得焦点
        sele.onmouseover = function(){
            this.select(); //选择
        }
    }
</script>
</body>
</html>

例2:
图1这里写图片描述
图2这里写图片描述
图3这里写图片描述

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title></title>
    <style>
        input,button {
            border:0 none;
            padding:0;
        }
        .search {
            width:258px;
            height:40px;
            margin: 100px auto;
            background-color: pink;
        }
        .search input {
            width:208px;
            height: 40px;
            background: url(images/left.jpg) no-repeat;
            outline-style: none;
            padding-left: 8px;
            color: #ccc;
            float: left;
        }
        .search button {
            height: 40px;
            width: 42px;
            background: url(images/right.jpg) no-repeat;
            float: left;
            cursor: pointer;
        }
    </style>
    <script>
        window.onload = function(){

            var txt = document.getElementById("txt");
            txt.onfocus = function(){ //得到焦点
                //alert("得到了焦点");
                //什么时候该清空呢
                //用户没有输入的时候,用户第一次使用的时候
               // 如果 这里input 里面的文字 是 请输入...  说明用户没有用过,就应该清空
                if(txt.value == "请输入..."  )
                {
                    txt.value = "";
                    txt.style.color = "#333";
                }
            }
            txt.onblur = function(){ //失去焦点
                //alert("失去了焦点");
                //什么时候再还原呢?
                //input的值是 空的时候,我们再复原
                if(txt.value == "")
                {
                    txt.value = "请输入...";
                    txt.style.color = "#ccc";
                }
            }
        }
    </script>
</head>
<body>
<div class="search">
    <input type="text" value="请输入..." id="txt"/>
    <button></button>
</div>
</body>
</html>

1.5 this (自己的)

指的是本身
This 主要是指事件的调用者 。
(在此不扩展)

1.6 For 循环

例:金字塔

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title></title>
</head>
<body>
<script>
    for(var i=1;i<=100;i+=3)
    {
        document.write("<hr width=  "+i+"%/>");
    }
</script>
</body>
</html>

1.7 getElementsByTagName() 获取某类标签

getElementById() 只得到一个 盒子
我们想要获取某类标签 比如说所有 的div li span
getElementsByTagName(); 很多个所以是复数 很多个
得到的是一个伪数组。
Lis 数组
Lis[索引号] 一个

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title></title>
    <script>

        window.onload = function(){
            var lis = document.getElementsByTagName("li");
           // lis[1].innerHTML = "abc";
            //alert(lis.length);
            for(var i=0; i<lis.length;i++)
            {
                lis[i].innerHTML = "abc";
            }

        }
    </script>
</head>
<body>
<ul id="btn">
    <li>123</li>
    <li>123</li>
    <li>123</li>
    <li>123</li>
    <li>123</li>
</ul>
</body>
</html>
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值