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(‘’)

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,185评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,445评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,684评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,564评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,681评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,874评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,025评论 3 408
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,761评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,217评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,545评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,694评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,351评论 4 332
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,988评论 3 315
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,778评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,007评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,427评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,580评论 2 349

推荐阅读更多精彩内容

  • 函数和对象 1、函数 1.1 函数概述 函数对于任何一门语言来说都是核心的概念。通过函数可以封装任意多条语句,而且...
    道无虚阅读 4,550评论 0 5
  • 第5章 引用类型(返回首页) 本章内容 使用对象 创建并操作数组 理解基本的JavaScript类型 使用基本类型...
    大学一百阅读 3,219评论 0 4
  • Lua 5.1 参考手册 by Roberto Ierusalimschy, Luiz Henrique de F...
    苏黎九歌阅读 13,766评论 0 38
  • 函数参数的默认值 基本用法 在ES6之前,不能直接为函数的参数指定默认值,只能采用变通的方法。 上面代码检查函数l...
    呼呼哥阅读 3,363评论 0 1
  • "Unterminated string literal.": "未终止的字符串文本。", "Identifier...
    两个心阅读 8,351评论 0 4