JavaScript基础——创建函数
JavaScript的最重要的一个部分是制作其他代码可以重用的代码。要做到这一点,你可以把代码组织成执行特定任务的函数。函数是结合在一个单一的块中,并给予一个名称的一系列代码语句。然后,你就可以通过引用该名称来执行块中的代码。
1、定义函数
你可以使用function关键字后跟一个描述该函数用途的名称、在()中的零个或多个参数的列表,以及在{}块中的一个或多个代码语句来定义一个函数。例如,下面是一个网控制台写入"Hello World"的函数的定义:
function myFunction(){
console.log("Hello World");
}
要执行myFunction()中的代码,你需要做的所有工作就是在主JavaScript,或者在另一个函数中添加下面一行:
myFunction();
2、传递变量给函数
你经常需要将特定的值传递给函数,而函数在执行他们的代码时,将使用这些值。通过以逗号分隔的形式将值传递到函数。函数定义需要在()中有一个与传递进来的值的数量匹配的变量名列表。例如,下面的函数接受两个参数,name(名字)和city(城市),并使用它们来构建输出字符串:
function greeting(name,city){
console.log("Hello" + name);
console.log(". How is the weather in" + city);
}
要调用greeting()函数,你需要传递一个name值和一个city值。该值可以是直接的值或先前定义的变量。为了说明这一点,下面的代码执行一个name变量,和以一个直接字符串作为city的greeting()函数:
var name = "Brad";
greeting(name,"Florence");
3、从函数返回值
通常情况下,一个函数需要返回一个值给调用代码。我们添加一个后面跟着变量或值的return关键字从函数返回值。例如,下面的代码调用一个函数来格式化字符串,把该函数返回的值赋给一个变量,然后将该值写入控制台:
function formatGreeting(name,city){
var retStr = "";
retStr += "Hello <br>" + name + "/n";
retStr += "Welcome to" + city +"!";
return retStr;
}
var greeting = formatGreeting("Brad","Rome");
console.log(greeting);
你可以在函数中包含不止一个return语句。当函数遇到一个return语句时,函数的执行代码会立即停止。如果return语句包含要返回的值,则返回该值。下面的例子展示了一个函数,他测试输入,并且如果输入是零,就立即返回:
function myFunc(value){
if (value == 0)
return value;
<如果值不为零,要执行的代码>
return value;
}
4、使用匿名函数
到目前为止,你已经看到的所有例子都显示命名的函数。在JavaScript中还可以创建匿名函数。这些函数的好处是:当你调用其他函数时,可以在参数组中直接定义它们。因此,你并不需要正式的定义。
例如,下面的代码定义了一个函数doCalc(),它接受3个参数。前两个参数应该是数值,第3个参数是一个将被调用,并把这两个数值作为参数传入的函数:
function doCalc(num1,num2,calcFunction){
return calcFunction(num1,num2);
}
你可以定义一个函数,然后将不带参数的函数名传递给doCalc(),如下面的例子所示:
function addFunc(n1,n2){
return n1 + n2;
}
doCalc(5,10,addFunc);
但是,你还可以选择在doCalc()的调用中直接使用一个匿名函数,如下面这两个语句所示:
console.log(doCalc(5,10,function(n1,n2){return n1+n2;}));
console.log(doCalc(5,10,function(n1,n2){return n1*n2;}));
你或许可以看到,使用匿名函数的好处是,你不需要正式定义将不再代码的其他任何地方使用的东西。因此,匿名函数使JavaScript代码更简洁易读。
JavaScript基础——创建函数的更多相关文章
- (Frontend Newbie)JavaScript基础之函数
函数可以说是任何一门编程语言的核心概念.要能熟练掌握JavaScript,对于函数及其相关概念的学习是非常重要的一步.本篇从函数的基本知识.执行环境与作用域.闭包.this关键字等方面简单介绍Java ...
- JavaScript基础学习-函数及作用域
函数和作用域是JavaScript的重要组成部分,我们在使用JavaScript编写程序的过程中经常要用到这两部分内容,作为初学者,我经常有困惑,借助写此博文来巩固下之前学习的内容. (一)JavaS ...
- JavaScript 基础回顾——函数
在JavaScript中,函数也是一种数据类型,属于 function 类型,所以使用Function关键字标识函数名.函数可以在大括号内编写代码并且被调用,作为其他函数的参数或者对象的属性值. 1. ...
- JavaScript基础之函数与数组
函数 函数的基本概念 为完成某一功能的程序指令(语句)的集合,称为函数.有的程序员把函数称为方法,希望大家不要被这两个名词搞晕了. 函数分为:自定义函数.系统函数(经常查看js帮助手册). j ...
- javascript基础(五)函数
原文http://pij.robinqu.me/ 通过call和apply间接调用函数(改变this) call 和 apply带有多个参数,call和apply把当前函数的this指向第一个参数给定 ...
- Javascript 基础--JS函数(三)
一.基本概念:未完成某一个功能的代码(语句,指令)的集合. 二.函数的调用方式: 2.1.函数名(传递参数1,传递参数2) 基本语法 function 函数名(参数列表){ //代码; retur ...
- javascript基础-js函数
一.创建函数的方式 1)普通方式 function cal( num1, num2 ) { return num1+num2; } 2)使用变量初始化方式 var plus = function(nu ...
- javascript基础知识-函数
1.javascript中函数有两种定义方式: 函数语句定义和表达式定义 //函数有定义 function test(){ console.log("This is a function&q ...
- Javascript基础--成员函数(六)
成员函数:也叫方法 1.常用方法 比如:我们希望对象不但有属性,还希望他有行为.(行为在程序中要靠函数来体现)(1) 添加speak函数,输出我是一个好人 (2) 添加jisuan函数,可以计算从1+ ...
随机推荐
- Maven的依赖范围
Maven的依赖构件包含一个依赖范围属性,这个属性描述的是三套classpath的控制,即编译.测试.运行. 举个例子Junit依赖只是在测试范围(classpath)使用,而在运行的时候不使用,还有 ...
- leetcode 86. Partition List
Given a linked list and a value x, partition it such that all nodes less than x come before nodes gr ...
- BestCoder Round #86 解题报告
A.Price List Sol 求和查询 Code #include<cstdio> #include<algorithm> #include<iostream> ...
- NOI2009 诗人小G
Sol 决策单调性+二分 传说中的四边形不等式...其实做了这道题还是不会... 证明简直吃屎//// 贴个传送门这里有部分分做法还有决策单调性的证明 byvoid ISA tell me that ...
- How to tile small texture image onto page as its background
You don’t need to set a big size image as the background of pages if the image is texture or uniform ...
- django xadmin自定义菜单
1. 自定义菜单 adminx.py class GlobalSetting(object): site_title = u'xxx后台' def kuF_site_menu(self): retur ...
- zend studio 10.6 汉化破解
破解方法: 1.zend studio 10.6下载:百度网盘 2.zend 破解文件下载:百度网盘 3.安装完zend后不要运行,将下载的破解文件复制替换到plugins文件夹下 4.然后在选择完w ...
- redis安装与参数说明
redis安装与参数说明 博客分类: redis redis 1.下载tcl8.6.1-src.tar.gz 和 redis-2.8.6.tar.gz: 2.安装: 1).安装tcl Java代码 收 ...
- Xcode 6 正式版如何创建一个Empty Application
Xcode 6 正式版里面没有Empty Application这个模板,这对于习惯了纯代码编写UI界面的程序员来说很不习惯. 有网友给出了一个解决方法是,把Xcode 6 beta版里面的模板复制过 ...
- 【GoLang】golang context channel 详解
代码示例: package main import ( "fmt" "time" "golang.org/x/net/context" ) ...