理解js前端开发中的函数

搞前端开发js代码不会写咋办?|mac前端快速开发|前端开发买mac or pro

函数(function)

根据W3School的解释,函数是由事件驱动的,或者当它被调用时执行的可重复使用的代码块。

举个简单点的例子:alert();它是由JavaScript封装的一个可重复使用的函数。

既然提到alert()警示窗,那么还有confirm()确认窗,以及prompt()可输入对话窗。

alert()是初学JavaScript时调试代码用到最多的函数,后来偶遇了console.log()/console.dir,使用到alert()的次数才逐渐减少,当然,调试代码并不是只有这两种方式,而这篇笔记的主要内容也不是讲JavaScript的调试,网上也有很多很好调试笔记,我就不再赘述了。

confirm()是用于显示一个带有指定消息和确定及取消按钮的对话框。点击按钮返回一对布尔值(Boolean),如果用户点击确定按钮,则 confirm() 返回 true。如果点击取消按钮,则 confirm() 返回 false。

prompt()是用于显示可提示用户进行输入的对话框。如果用户单击提示框的取消按钮,则返回 null。如果用户单击确认按钮,则返回输入字段当前显示的文本。

函数的声明方式:关键字 function 函数名(一组参数){置于括号中的待执行代码};

调用函数名时,会执行{置于括号中的待执行代码};由此牵引出“函数是由事件驱动的,或者当它被调用时执行的可重复使用的代码块。”

提示:JavaScript 对大小写敏感。关键词 function 必须是小写的,并且必须以与函数名称相同的大小写来调用函数。

在调用函数时,可以向函数传递值,这些值被称为参数。参数可以是多个,用逗号隔开。这些参数可以在函数中使用。参数还分形参与实参,这些将在实际举例中出现。

有时,我们会希望函数将值返回调用它的地方。通过使用 return 语句就可以实现。在使用 return 语句时,函数会停止执行,并返回指定的值。

W3School例:

function myFunction() {
    var x = 5;
    return x;
}
var myVar = myFunction();

myVar 变量的值是 5,也就是函数 “myFunction()” 所返回的值。

我所知道的函数构造语法有三种:

function functionName(arg0, arg1, …argN) {
    statements
} //function语句
var function_name = new Function(arg1, arg2, …, argN, function_body); //构造函数,令写篇幅详细说明
var function = function (arg0, arg1, …argN) {
    statements
};

函数直接量是一个表达式,它可以定义匿名函数。函数直接量的语法和function语句非常相似,只不过它被用作表达式,而不是用作语句,而且也无需指定函数名

如果函数无明确的返回值,或调用了没有参数的 return 语句,那么它真正返回的值是 undefined。

ECMAScript中的函数不能重载 。可用相同的名字在同一个作用域中定义两个函数,而不会引发错误,但真正使用的是后一个函数。考虑下面的例子:

function doAdd(iNum) {
    Alert(iNum + 100);
}
function doAdd(iNum) {
    Alert(iNum + 10);
}
doAdd(10); //20

不过可以使用arguments对象避开这种限制(关于对arguments的讨论,将在另一篇笔记中记录)。

去年刚接触JavaScript的时候,对于自定义函数很难理解,脑袋里装着十万个为什么但终究还是弄得个一知半解。

翻了翻当时写的笔记,第一次对自定义函数的定义是:自己封装的一定功能函数,供自己使用,原来我们熟知的alert()是js的内置函数。(提及过)

第一遍没有理解,于是我又用通俗的话写了第二次理解:自己定义一个可以重复使用的命令(行为)。笔记的旁边还有一排小字,函数即是命令,也称之为功能,方法。对于这个理解,我也不知道是对还是错。

当需要在函数调用的时候,传递真实的参数,称之为实参,去替换函数表达式中的自定义参数,也就是形参。

形参用于触发多事件源时,多事件源是指的相同条件下,不同名的事件源;(涉及到事件部分,另开篇幅详细介绍)

前端js开发规范|前端开发 js幻灯片|sql数据库前端开发java

» 本文来自:前端开发者 » 《理解js前端开发中的函数》
» 本文链接地址:https://www.rokub.com/3851.html
» 您也可以订阅本站:https://www.rokub.com
赞(0)
64K

评论 抢沙发

评论前必须登录!