Day05(函数,arguments)

获取元素
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))