版权声明:未经允许禁止转载,否则会计入黑名单:http://www.cnblogs.com/123it/p/copyright.html

新手Perfect教程之Javascript②教程—函数

前言:上回我们是从hello world开始的,本期将会讲“函数”

在学自定义函数之前,先了解几个已经定义好的函数:

1 alert();                   //弹出消息对话框函数(JavaScript默认函数)
2 prompt(); //弹出输入对话框函数(JavaScript默认函数)
3 document.write(); //写字符到<body>里(JavaScript默认函数,document是一个默认对象,以后会讲到)

但是,你弹出对话框得有对话框内容吧;你写字符得有字符的内容吧……

如何确认内容呢?

我们就用函数的参数来确定,比如说这个:

 alert("这里是参数");

但是必须注意,如果参数是字符串,就必须加引号(单、双引号均可,只要是字符串在这一对引号中间即可)

假如要是在字符串参数里还需要进行第二层引用,就用不同于该参数的引号,比如说:

alert("Hi! This is a 'String'.")     //双引号中引用的用单引号

或者:

alert('Hi! This is another "String".');         //单引号中引用的用双引号

(提示:这两种都正确,本教程使用第一种)

这是部分Javascript的默认函数,那么,如何自己创建函数呢?

用function(){}即可自己创建函数,比如说这个最简单的函数框架:

 function test(){
//这里写执行函数后的代码
}

在上面的代码中,function后面的“test”是一个自定义的函数名,自定义函数名是有要求的:

1.可以使用大小写字母(A-Z,a-z)

2.可以使用数字(0-9)

3.不能出现其他特殊字符(&、*、#、@、!、~、/、\等)

4.不能出现中文!(这是重中之重!因为Javascript不能识别中文变量名!)

下面这是个无参数的函数:

 function noVar() {
alert("Hello World!");
}

为什么说是上面的函数是无参数的函数?因为上面的函数的函数名noVar后面的括号里没有定义参数。

参数也是可以自定义的,要求同自定义函数名。

下面这是个有参数的函数(Javascript里用“+”来代表两个变量相加):

 function haveVar(var1) {
alert("Welcome! Your name is " + var1);
}

怎么调用函数?

调用函数很简单,可以直接在<body>的onload参数里调用:

 <body onload="haveVar(John)">
//...
//...
//...
</body>

或者通过<input type="button">制作的按钮调用:

 <body>
//...
//...
<input type="button" onclick="haveVar(John)" value="按钮" /> //点击按钮后执行haveVar函数,参数为John
//...
//...
</body>

看到这里,可能有的童鞋就得问了,为什么调用带参数的函数时参数不加引号?

因为假如参数加了引号,那么浏览器看到onclick=时就不知道onclick的参数是   “haveVar(”   还是   “)”   还是   “John”   还是   “haveVar(John)”   了。

(注意:如果参数或一个变量没有被赋值任何数据,那么就是英文单词“undefined”(翻译:未定义的))

函数也可以是有返回值的,这样的话函数返回返回值后,整个调用函数的内容就会变成返回值(即哪里调用函数,哪里就把函数看成一个变量),比如说:

 function haveVar(var1,var2) {
var equal = var1 + var2; //计算var1+var2的值并存入equal变量中
return equal; //返回equal变量内容
}

假如调用这个函数时参数写上:haveVar(7,3),那么就会返回10。

————————The End————————

下期预告:新手Perfect教程之Javascript—③对象

我们下期再见!

作者:wy14abcd

未经允许不得转载

Javascript—②函数的更多相关文章

  1. ABP(现代ASP.NET样板开发框架)系列之21、ABP展现层——Javascript函数库

    点这里进入ABP系列文章总目录 基于DDD的现代ASP.NET开发框架--ABP系列之21.ABP展现层——Javascript函数库 ABP是“ASP.NET Boilerplate Project ...

  2. JavaScript权威设计--JavaScript函数(简要学习笔记十一)

    1.函数调用的四种方式 第三种:构造函数调用 如果构造函数调用在圆括号内包含一组实参列表,先计算这些实参表达式,然后传入函数内.这和函数调用和方法调用是一致的.但如果构造函数没有形参,JavaScri ...

  3. JavaScript 函数

    JavaScript 函数 介绍:函数是由事件驱动的或者当它被调用时执行的可重复使用的代码块.嗯,就像Java中封装的方法一样. 将脚本编写为函数,就可以避免页面载入时执行该脚本. 函数包含着一些代码 ...

  4. javascript 函数初探 (一)--- 神马是函数

    神马是函数? 所谓函数,本质上是一种代码的分组形式.我们可以通过这种形式赋予某组代码一个名字,以便与之后的调用.下面,我们来示范以下函数的声明: function sum(a, b){ var c = ...

  5. JavaScript函数的概念

    函数是这样的一段代码,它只定义一次,但可能被执行或调用任意多次. JavaScript函数是参数化的:函数的定义会包含形参,这些参数在函数的整体中像局部变量一样工作.函数调用时会为形参提供实参的值.除 ...

  6. Javascript函数重载,存在呢—还是存在呢?

    1.What's is 函数重载? );//Here is int 10 print("ten");//Here is string ten } 可以发现在C++中会根据参数的类型 ...

  7. JavaScript 函数声明,函数表达式,匿名函数,立即执行函数之区别

    函数声明:function fnName () {-};使用function关键字声明一个函数,再指定一个函数名,叫函数声明. 函数表达式 var fnName = function () {-};使 ...

  8. javascript 函数重载 overloading

    函数重载 https://en.wikipedia.org/wiki/Function_overloading In some programming languages, function over ...

  9. JavaScript语言精粹读书笔记 - JavaScript函数

    JavaScript是披着C族语言外衣的LISP,除了词法上与C族语言相似以外,其他几乎没有相似之处. JavaScript 函数: 函数包含一组语句,他们是JavaScript的基础模块单元,用于代 ...

  10. 常见的JavaScript函数

    JavaScript函数一共可分为5类:常规函数.数组函数.日期函数.数学函数和字符串函数. (1)常规函数(9个) alert函数:显示一个警告对话框,包括一个“确定”按钮. confirm函数:显 ...

随机推荐

  1. FIFO存储器

    FIFO( First In First Out)简单说就是指先进先出.由于微电子技术的飞速发展,新一代FIFO芯片容量越来越大,体积越来越小,价格越来越便宜.作为一种新型大规模集成电路,FIFO芯片 ...

  2. 如何获得keyhash

    keyhash是由keystore产生的 三个命令解决问题 keytool -exportcert -alias androiddebugkey -keystore debug.keystore &g ...

  3. Linux_System2

    1.从服务器下载http*.tar.gz源码包,安装到/usr/local/apache目录下,要求安装时指定能够动态加载模块,能够支持地址回写功能,能够使用ssl加密功能../configure — ...

  4. python 自动化之路 day 13

    本节内容参考博客: http://www.cnblogs.com/wupeiqi/articles/5132791.html http://www.cnblogs.com/wupeiqi/articl ...

  5. VS2013 F12无法转到函数的定义处,总是从“元数据”获取的问题 ——解决方法

    右键项目名称-->点击菜单中的"添加"-->点击"引用"-->在弹出窗中点击"解决方案"下的"项目", ...

  6. php5.4下配置zend guard loader

    前些日子的时候,zend官网下还没有支持PHP5.4的zend guard loader,今天再上去看的时候居然发现了,看来是我好久不关注它的缘故了... zend guard loader 干什么的 ...

  7. 选择移动web开发框架研究——有mui、frozenui以及Sencha Touch等

    纯粹的总结一下移动web开发框架,移动 web开发框架有jQuery Mobile .Sencha Touch等等,他们都来源于web开发,是成熟的框架,jQuery Mobile出自于jQuery家 ...

  8. RAC 开启gsd和oc4j服务

    Oracle 11g RAC中,发现oc4j以及gsd服务都处于offline状态,这是Oracle 11g RAC默认情形.即便如此,并不影响数据库的使用,因为 oc4j 是用于WLM 的一个资源, ...

  9. Java高级特性之泛型

    首先我们先提出两个问题: 什么是泛型? 为什么要使用泛型?我们先来看看第一个问题什么是泛型.如果你对Java三大特性中的多态性理解的比较透彻的话,泛型就比较好理解了.多态性表示一个对象具备多种状态.比 ...

  10. android Fragment和FragmentActivity

    MainActivity.java import android.app.AlertDialog; import android.app.Notification; import android.co ...