原生JS-04

• 什么是函数:也称为方法,是指具有特定功能的模块
• 函数的分类:
• 从定义角度分:内置函数、自定义函数
• 内置函数:所谓内置函数就是指JS自带的函数,不需要重写定义,直接使用就可以alert()、prompt()、Number()、parseInt()、parseFloat()、isNaN()
• 自定义函数:就是指用户根据实际需求自己编写的函数
• 从参数角度分:有参函数、无参函数
• 从返回值角度分:有返回值函数、无返回值函数
• 特殊:匿名函数、递归函数
• 定义函数的一般格式(完整格式)
function 函数名(参数列表) {
函数体;

return  返回值;

}
• 定义函数时注意事项
• 关键字function必需是小写的,且不可以省略
• 函数名的命名规则必需符合标识符的命名规则
• 参数列表:所谓参数列表就是指形参列表,需要注意的是形参列表在定义时不可以加var,另外可以有多个形参,如果有多个形参参数间需要用逗号分隔
• 如果没有参数列表,即定义了一个无参函数,那么小括号不可以省略,且要注意小括号后面不可以加分号
• 大括号中包含的是函数的函数体,所谓函数体就是指能够执行特定功能的语句,可以是一条,也可以是多条,如果是多条必须用大括号括起来,如果一条也没有,那么这样的函数我么称之为空函数,空函数的作用就是用来在程序中占位
• 无参无返回值函数的定义格式
function 函数名() {
函数体;
}
• 无参无返回值函数的调用格式
• 格式1:函数名();
• 格式2:通过事件驱动的形式调用函数<开始标签 onclick=”函数名()”></结束标签>
• 格式3:通过事件驱动的形式调用函数,在<script>标签中写上document.getElementById(“元素的ID”).onclick = 函数名;
• 函数的好处
• 结构清晰,利用维护
• 提升程序的可操控性
• 提升代码的复用性
• 提升内存的利用效率
• 有参函数的定义格式
function 函数名(参数1,参数2,参数3…) {
函数体;
}
• 有参函数的调用:
• 格式1:函数名(实参);
• 有参函数的注意事项
• 有参函数的参数分为实参和形参
• 形参:定义函数时所使用的参数就是形参,所谓形参其实就是用来接收具体数据的变量,话句话说形参必须是变量,形参可以有多个,参数间用逗号分隔
• 实参:调用函数时所使用的参数就是实参,所谓实参其实就是要用函数处理的具体数据,实参可以有多个,参数间需要用逗号分隔
• 形参是一个存储空间,形参只有在函数被调用时系统参会为其分配空间,当函数运行结束后,形参所占空间会被释放
• 形参和实参个数上理论上要求一一对应,但是在JS中这方面已经不重要了,换句话说实参和形参的个数可以不匹配
• 实参和形参在传递数据时是单向传递的,即有实参传递给形参,不可以有形参传递给实参
• 实参和形参在传递数据时位置是一一对应
• 有返回值函数:所谓返回值就是一个函数运行后所得到的结果,并将结果返回给调用者,那么返回回来的这个值就是返回值,注意返回值需要用return关键字返回,
格式为return 返回值;
• 有返回值函数的注意事项
• 函数可以有多个return,但是最终只能执行一个,因为return语句具有结束函数的功能
• return后面的返回值可以是常量、变量、表达式
• 所有函数其实都有return语句,包含无返回值函数
• 匿名函数:函数没有函数名,格式如下
function(){
函数体
}
• 匿名函数的调用格式1,将整个函数赋值给一个变量,如何通过该变量进行函数的调用如var fn = function() {alert(“hello”);};调用时,可以用如下形式变量名(),如:fn();
• 匿名函数的调用格式2,将整个函数赋值给一个事件,通过该事件调用该函数,如document.getElementById(“元素的id”).onclick = function() {alert(“hello”);};需要注意该种形式适用于无参函数,如果是有参函数可以用下面的形式(function(num){alert(num)})(实参);
• 变量的作用域:所谓变量的作用域就是变量起作用的范围,根据作用域的不同变量可以分为两大类:全局变量、局部变量
• 全局变量:定义在函数外面的变量被称为全局变量,全局变量的作用域是整个页面
• 局部变量:定义在函数内部的变量被称为局部变量,局部变量的作用域是定义它的函数
• 变量作用域注意事项
• 如果全局变量和局部变量同名,那么全局变量默认是被屏蔽掉的,如果要使用全局变量,那么只需要在变量名前加window.因为所有全局变量都属于window对象
• 函数内部定义的变量,如果不加var,那么默认情况下该变量为全局变量
• 递归函数:函数自己调用自己

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

推荐阅读更多精彩内容

  • 前言 把《C++ Primer》[https://book.douban.com/subject/25708312...
    尤汐Yogy阅读 9,516评论 1 51
  • 原文地址:C语言函数调用栈(一)C语言函数调用栈(二) 0 引言 程序的执行过程可看作连续的函数调用。当一个函数执...
    小猪啊呜阅读 4,607评论 1 19
  • 第5章 引用类型(返回首页) 本章内容 使用对象 创建并操作数组 理解基本的JavaScript类型 使用基本类型...
    大学一百阅读 3,231评论 0 4
  • 男人绵绵 女人切切 哈哈!先提个醒,各路朋友,这次切不可顾名思义!不然把绵绵想成软绵绵,把切切想成急切切,那就糟糕...
    多瑞的视线阅读 362评论 0 0
  • 某天,和文丽一起喝酒,说到“爱满自溢”。我对这个说法不太认同,或者说不完全认同。 如果把爱比做水,那么这水放在水杯...
    画屏闲展阅读 1,637评论 2 3