从零开始学JavaScript(一)- 理解函数

楔子

老姚写这篇笔记开头就说:学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。

时间: 2024-10-13 22:15:58

从零开始学JavaScript(一)- 理解函数的相关文章

从零开始学JavaScript四(数据类型)

一.分类 基本数据类型:undefined.null.string.Boolean.number 复杂数据类型:object object的属性以无序的名称和值对的形式 (name : value) 来定义 1.1 .typeof操作符 鉴于ECMAScript是松散型的,因此需要一种手段来检测给定的变量的数据类型-----typeof就可以负责提供这方面的信息的操作符. 对一个值typeof操作符可能返回下列某个字符串: "undefined"-----------如果这个值未定义

JavaScript深入理解函数 - 函数的传值

在JavaScript中,由于函数名就是一个变量,所以函数也可以作为值来使用.我们不仅可以像传递参数一样把一个函数传递给另一个函数,还可以将一个函数作为另一个函数的返回值返回. 将函数作为参数传递 由于函数是对象,所以可以直接把函数作为参数来传递.来看下面的例子: //定义一个函数 function say(str){ return "hello "+str; } //调用函数 alert(say("JavaScript")); //返回“hello JavaScr

从零开始学JavaScript三(变量)

一.变量 ECMAscript变量是松散型变量,所谓松散型变量,就是变量名称可以保存任何类型的数据,每个变量仅仅是一个用于保存值的占位符. 定义变量时要使用var操作符 如: var message; /*定义一个名为message的变量,该变量可以用来保存任何值,未初始化的变*量会保存一个特殊的值-undefined */ 二.局部变量 可以声明变量里同时初始化 function test(){ var message='hello'; //定义局部message变量,并初始值为hello a

从零开始学JavaScript一(简介)

概要:JavaScript的组成. 各个组成部分的作用 . 一.JavaScript是一种专为与网页交互而设计的脚本语言,它的的组成  Javascript  ECMAScript(核心) DOM(文档对象模型) BOM(浏览器对象模型) 1.1ECMAScript      ECMA-262定义的ECMAScrip与Web浏览器没有依赖关系,ECMA-262定义的只是这门语言的基础,提供核心语言功能 ECMAScript是通过ECMA-262标准化的脚本语言,ECMA-262规定语言的:语法.

从零开始学JavaScript二(基本概念)

基本概念 一.区分大小写 在ECMAScript中的一切(变量.函数名.操作符)都是区分大小写的. 如变量名test和Test分别表示两个不同的变量, 二.标识符 所谓标识符,就是指变量.函数.属性的名字,或者函数的参数.标识符按照下列格式规则组合起来的一或者多个字符: 第一个字符必须为一个字母.下划线(_).或者一个美元符号($); 其它字符可以是字母.下划线.美元符号或数字. ECMAScript标识符采用驼峰大小写格式,也就是第一个字母小写,剩下的每个单词的首字母大写,例如:firstSe

重学JavaScript之匿名函数

1. 什么是匿名函数? 匿名函数就是没有名字的函数,有时候也称为< 拉姆达函数>.匿名函数是一种强大的令人难以置信的工具.如下: function a(a1, a2, a3) { // 函数体 } ==其他函数表达式== var a = function(a1, a2, a3) { // 函数体 } 以上两个例子在逻辑上等价,其主要的区别是: 前者会在代码执行前被加载到作用域中,而后者则是在代码执行到那一行的时候才会有定义.另一个重要的区别就是:函数声明会给函数一个指定的名字,而函数表达式则是

【JavaScript】理解与使用Javascript中的回调函数

在Javascript中,函数是第一类对象,这意味着函数可以像对象一样按照第一类管理被使用.既然函数实际上是对象:它们能被“存储”在变量中,能作为函数参数被传递,能在函数中被创建,能从函数中返回. 因为函数是第一类对象,我们可以在Javascript使用回调函数.在下面的文章中,我们将学到关于回调函数的方方面面.回调函数可能是在Javascript中使用最多的函数式编程技巧,虽然在字面上看起来它们一直一小段Javascript或者jQuery代码,但是对于许多开发者来说它任然是一个谜.在阅读本文

深入理解javascript:揭秘命名函数表达式

这是一篇转自汤姆大叔的文章:http://www.cnblogs.com/TomXu/archive/2011/12/15/2288411.html 前言 网上还没用发现有人对命名函数表达式进去重复深入的讨论,正因为如此,网上出现了各种各样的误解,本文将从原理和实践两个方面来探讨JavaScript关于命名函数表达式的优缺点. 简单的说,命名函数表达式只有一个用户,那就是在Debug或者Profiler分析的时候来描述函数的名称,也可以使用函数名实现递归,但很快你 就会发现其实是不切实际的.当然

【MySQL函数】MySQL 5.5从零开始学第六章

说明:本文总结自:<MySQL 5.5从零开始学>第六章 MySQL中的函数包括: 数学函数.字符串函数.日期和时间函数.条件判断函数.系统信息函数和加密函数等. 函数: 表示对输入参数值返回一个具有特定关系的值. 一.数学函数 主要的数学函数有:绝对值函数.三角函数(包括正弦函数.余弦函数.正切函数.余切函数等). 对数函数.随机函数等.(PS:在有错误产生时,数学函数将会返回空值NULL) 1.1 绝对值函数ABS(x) mysql> SELECT ABS(1),ABS(-1.1),