整理Javascript函数学习笔记

1、什么是函数 如果需要多次使用同一段代码,可以把它们封装成一个函数函数(function)就是一组允许在你的代码里随时调用的语句。每个函数实际上是一个短小的脚本。 如:要完成多组数和的功能

rush:js;"> var sum; sum = 3+2; alear(sum);

sum = 7+8;
alear(sum);
......//不停的重复两行代码

如果要实现8组数的和,就需要16行代码,实现的越多,代码行也就越多。所以我们可以把完成特定功能代码块放到一个函数里,直接调用这个函数,就省去重复输入大量代码的麻烦。使用函数完成:

rush:js;"> function add(a,b){ sum = a+b;//只需要写一次就可以 }; add2(3,2); add2(7,8); ......//只需要调用函数就可以

2、定义函数 定义函数语法

rush:js;"> function 函数名(参数argument){   函数体statements; } //function定义函数的关键字,“函数名”你为函数取的名字,“函数体”替换为完成特定功能代码
rush:js;"> function shout(){ var beatles = Array("John","Paul","George","Ringo"); for (var count = 0; count < beatles.length; count++){ alert(beatles[count]); } } //这个函数里面的循环语句将依次弹出对话框来显示beatles里面内容。 shout();调用函数,执行脚本里的动作

完成对两个数求和并显示结果的功能

rush:js;">

第二种情况:在HTML文件调用,如通过点击按钮后调用定义好的函数

rush:xhtml;">

5、返回值的函数 函数不仅能够(以参数的形式)接收数据,还能够返回数据。我们完全可以创建一个函数并让它返回一个值、一个字符串、一个数组或是一个布尔值。这是需要用到return语句。

rush:js;"> function multiply(num1,num2){ var total = num1*num2; return total; }

之前通过"document.write"把结果输出来,现在使用函数输出 我们只要把"document.write(sum)"这行改成如下代码

rush:js;"> function add2(x,y){ sum = x + y; return sum; //返回函数值,return后面的值叫做返回值。 } //还可以通过变量存储调用函数的返回值: result = add2(3,4);//语句执行后,result变量中的值为7。

例:下面这个函数只有一个参数(一个华氏温度值),它将返回一个数值(同一温度的摄氏温度值):

rush:js;">

在这个例子里,变量temp_celsius的值将是35,这个数值由convertToCelsius函数返回。 在命名变量时,我用下划线来分隔各个单词;在命名函数时,我从第二个单词开始把每个单词的第一个字母写成大写形式(也就是驼峰命名法)。 1)、变量的作用域 变量既可以是全局的,也可以是局部的。

全局变量(global variable)

可以在脚本中的任何位置被引用。一旦你在某个脚本里声明了一个全局变量,就可以从这个脚本中的任何位置------包括函数内部------引用它。全局变量的作用域是整个脚本。

局部变量(local variable)

只存在于声明它的那个函数的内部,在那个函数的外部是无法引用它的。局部变量的作用域仅限于某个特定的函数。 可以用var关键字明确地为函数变量设定作用域。 如果在某个函数中使用了var,那个变量就将被视为一个局部变量,它只存在于这个函数的上下文中;反之,如果没有使用var,那个变量就将被视为一个全局变量,如果脚本里已经存在一个与之同名的全局变量,这个函数就会改变那个全局变量值。 例子:

rush:js;"> function square(num){ total = num*num; return total; } var total = 50; var number = square(20); alert(total);

这是错误的,number的值为400,但是这里alert弹出的是total的值,应该是50.

这些代码将不可避免地导致全局变量total的值发生变化。

全局变量total的值变成了400.我的本意是让square()函数只把它计算出来的平方值返回给变量number,但因为未把这个函数内部total变量明确地声明为局部变量,这个函数把名字同样是total的那个全局变量的值也改变了。

把这个函数写成如下的样子才是正确的:

rush:js;"> function square(num){ var total = num*num; return total; } var total = 50; var number = square(20); alert(total);

正确结果:

函数的学习笔记,还涉及到了一些变量的知识点,希望对大家的学习有所帮助。

相关文章

前言 做过web项目开发的人对layer弹层组件肯定不陌生,作为l...
前言 前端表单校验是过滤无效数据、假数据、有毒数据的第一步...
前言 图片上传是web项目常见的需求,我基于之前的博客的代码...
前言 导出Excel文件这个功能,通常都是在后端实现返回前端一...
前言 众所周知,js是单线程的,从上往下,从左往右依次执行,...
前言 项目开发中,我们可能会碰到这样的需求:select标签,禁...