美文网首页
Day05(函数,arguments)

Day05(函数,arguments)

作者: AnnQi | 来源:发表于2017-09-12 15:36 被阅读0次

    获取元素
    Document.getElementById(“”);
    Document.getElementById(“”).style.height;
    Onclick点击事件、ondbclick双击事件
    Onfocus 获得焦点事件、onblur失去焦点事件
    Window.onload=function(){}

    This关键字 指向当前函数,也就是指向自己
    找到目标事件event.target
    计算方法:eval()

    var a=document.getElementById("div");
    a.onclick=function(){
        alert('你为什么点我');
    }
    

    在这个点击事件里面,onclick只是监听了元素,知道了元素发生了什么,比如被点击了一下
    但是onclick并不能执行什么东西,执行东西是在function里面执行的
    也就是说,当监听到元素发生动作的时候,我们是把元素委托给了函数,来执行一些执行语句

    函数:函数是由事件驱动的或者当他被调用时的可以重复使用的代码块

    函数(function)

    函数的使用,跟变量一样,需要声明;

    自定义函数:::
    function hanshu(){
        alert('我被调用了');
    }
    hanshu();         //函数不调用,自己不执行
    

    当你封装好或者自定义一个函数的时候,他是可以多次被调用,不论在什么地方调用他,也不论函数自己在什么地方,都可以被调用;

    直接量声明
    var fun2=function(){//直接量声明
        alert('直接量声明')
    }
    fun2();
    
    利用关键字声明
    var fun3=new Function('var a=10;var b=15;alert("a+b")');
    fun3();
    
    变量声明提升:
    function fun(){
        //变量声明提升;
        console.log(a);
        var a=20;
    }
    fun();
    

    相当于:

    function fun(){
        var a;
        console.log(a);
        a=20;
    }
    

    在函数内部,不管你在什么地方声明,都会把这个声明提升到函数的最顶端,但是,只帮你提升了声明,但是,不给提升赋值;
    那么,变量,是有作用域的;
    作用域:起作用的范围;
    学了函数之后,就要清楚、明白:
    变量的作用域有两种:
    一种是全局,一种是局部;
    在script下直接声明,没有任何东西包住、拦住的声明的变量,就是全局变量,你在哪儿,都能用它;

    函数内声明的变量,都是局部变量

    意思就是说,你在哪个函数内声明,就只能在那个函数内使用;

    函数的参数

    我们之前学习的,是无参函数,就是没有参数的函数
    后面,我们要学习有参函数:

    //有参函数
    function fn1(a,s,d){
        alert('我是一个有参函数,我的参数是'+a+s+d);
    }
    //有参函数调用的时候,请传参;
    fn1('5','6','7');
    

    函数的参数,可以是多个,而不局限于一个,当你想要传输多个数据进去的时候,你可以多定义几个参数来接受它;
    那么,有参函数分为形参和实参;
    什么是形参,什么是实参
    一个是理想状态下的参数数量,一个是实际用到的参数数量;

    arguments

    函数在传输参数的时候,会新建一个对象,一个内部对象,用来存储实参
    Javascript在创建函数的同时,会在函数内部创建一个arguments对象实例;
    arguments对象只有函数开始是,才可以用,它不是一个数组,但是,它的形式和数组一样,是把多个单一的参数用一个篮子装起来,看上去和数组很想,但是,不是数组,也就是说,数组的一切方法,它都不适用;

    arguments对象的长度由实参的个数决定;
    function fn(a,s,d){
        console.log(fn.length);        //fn.length就是形参的长度
        console.log(arguments.length);
        if(fn.length==arguments.length){
            alert(a*s*d);
        }else{
            alert('你能不能老实传三个给我?')
        }
    }
    fn(1,2,3);
    

    实参不一定非得等于形参,一般只有你需要用到的时候,才要求相等,没有要求的话,形参和实参不相等也不影响函数的运行;

    总结

    函数

    1. 函数分为两种:

    1) 库函数(内置函数)
    2) 自定义函数(程序员自己定义的函数)
    从形式上来分:
    1) 分为有参函数
    2) 无参函数

    2. 函数的使用

    第一步:函数的定义
    语法:function 函数名(){}
    第二部:函数的调用
    语法:函数名();
    函数的命名规则,与变量相同;

    3. 有参函数

    语法:function 函数名(参数){}
    参数可以分为多个,用逗号隔开;
    在调用的时候需要进行参数的传递,将实际参数传递给形式参数;

    4. 变量的作用域

    根据变量的作用范围,可以分为两种:全局和局部;
    1) 全局变量:在最外层声明的变量;
    2) 在函数内部,但是没有用var声明的变量也是全局变量;
    3)局部变量:在函数内部声明的变量;

    返回值: return

    定义:一个函数实际就是一个计算过程,计算完成之后的结果就是返回值;
    在函数内部用return来设置返回值,一个函数只能由一个返回值;
    同时,会终止代码的执行;
    所以自定义函数默认都没有返回值;
    return后面不要换行

    var div=document.getElementsByTagName(‘’)

    获取某个类元素的标签
    得到的是一个伪数组;

    相关文章

      网友评论

          本文标题:Day05(函数,arguments)

          本文链接:https://www.haomeiwen.com/subject/cevcsxtx.html