楔子
老姚写这篇笔记开头就说:学JS,不懂事件机制,基本可以说学了JS,就是白学。
看到这句话时的我十分汗颜,如果说,我了解事件机制的话,我也许就不会点开这篇笔记,而现在的我就是那个白学了的。
重新开始审视自己,从事WEB前端开发这份工作已经半年有余,从来没有认认真真的写过一篇技术性的笔记。或许我还不是一个合格前端开发工程师,空有一腔热情却难以施展。以此作为第一篇笔记,勉励自己。
关于这篇笔记并不打算写对于事件机制的理解,毕竟我还是个白学了JS的人,班门弄斧简直是跳梁小丑。那就从最基础的开始写起。(zhouAlex066)
函数(function)
根据W3School的解释,函数是由事件驱动的,或者当它被调用时执行的可重复使用的代码块。
举个简单点的例子:alert();它是由JavaScript封装的一个可重复使用的函数。
既然提到alert()警示窗,那么还有confirm()确认窗,以及prompt()可输入对话窗。
alert()是初学JavaScript时调试代码用到最多的函数,后来偶遇了console.log()/console.dir,使用到alert()的次数才逐渐减少,当然,调试代码并不是只有这两种方式,而这篇笔记的主要内容也不是讲JavaScript的调试,网上也有很多很好调试笔记,我就不再赘述了(附:阮一峰<Firebug控制台详解>)。
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);//Function()构造函数
var function = function(arg0, arg1, ... argN) { statements };//函数直接量
如果函数无明确的返回值,或调用了没有参数的 return 语句,那么它真正返回的值是 undefined。