函数的定义种类

<!--函数的定义-->

<body>
<!--普通定义:-->
<script type="text/javascript">
    function displaymessage(){
        alert("您好!")
    }
</script>
<form>
    <input type="button" value="点击我!" onclick="displaymessage()"/>
</form>

</body>

<body>
<!--函数的变量的定义方式-->
<button onclick="area()" value="啦啦啦">
<script type="text/javascript">
    var circularityArea = new function("r","return r*r*Math.pl");
    var rCircle = 5;
    var area = circularityArea(rCircle);
    document.write("半径为5的圆的面积是:"+area);
</script>

</body>

<body>
    <!--函数的指针调用方式-->
<script type="text/javascript">
    function sortNumber(obj,func)  //定义通用排序函数
    {     //参数验证,如果第一个参数不是数组或者第二个参数不是函数则抛出异常
        if(!(obj instanceof Array)||!(func instanceof Function)){
            var e = new Error();   //生成错误信息
            e.number = 100000;     //定义错误号
            e.message = "参数无效"; //错误描述
            throw e;               //抛出异常
        }
        for(n in obj){      //开始排序
            for(m in obj){
                if(func(obj[n],obj[m]))  //使用回调函数排序,规则有用户定义
                {
                    var tmp = obj[n];
                    obj[n] = obj[m];
                    obj[m] = tmp;
                }
            }
        }
        return obj;   //返回排序后的数组
    }
    function greatThan(arg1,arg2){   //回调函数,用户定义的排序规则
        return arg1<arg2;    //规则:从小到大
    }
    try{
        var numAry = new Array(6,14,12,33,25,51,90,86);   //生成一数组
        document.write("<li>排序前:"+numAry);   //输出排序前的数据
        sortNumber(numAry,greatThan)    //调用排序函数
        document.write("<li>排序后:"+numAry);    //输出排序后的数组
    }
    catch(e){
        alert(e.number+":"+ e.message);   //异常处理
    }
</script>
</body>

时间: 2024-10-20 01:41:42

函数的定义种类的相关文章

js:深入函数的定义

函数定义方式: 1.function fun1(){alert("fun1");}  //函数就是一个非常特殊的对象,是一个Function的实例,其实在内存中存储的操作是通过一个键值对来存储的. 2.由于函数是一个对象,所以可以通过如下方式定义 var fun2 = fun1;  //通过函数拷贝给fun2完成赋值,但fun1.fun2这两个引用并没有指向同一个对象(虽然他们指向的对象的内容是一样的). fun1 = function(){alert("fun111&quo

内敛函数宏定义差别

内敛函数(inline函数) 内敛函数一般规模较小,程序再调用这些成员函数时.不是真正的运行函数的调用过程(如保存返回地址等处理).而是把函数代码嵌入程序的调用点(内敛函数在源文件里不是调用而是按原样展开),这样能够大大降低调用成员函数的时间. 类内定义的成员函数默认是内敛函数.由于在c++中一般将类定义放在头文件里.因此这些类内定义的函数也伴随着写入头文件里.函数声明一般在头文件里.而定义是不同意在头文件里的,由于他们要多次被编译. 若是内敛函数,则同意写在头文件里. 内敛函数的定义: 内联函

C++ 函数模板一(函数模板定义)

//函数模板定义--数据类型做参数 #include<iostream> using namespace std; /* 函数模板声明 1.函数模板定义由模板说明和函数定义组成,并且一个模板说明对应一个函数定义 2.模板说明的类属参数必须在函数定义中至少出现一次 3.函数参数表中可以使用类属类型参数,也可以使用一般类型参数 */ /* template关键字告诉c++编译器现在要进行泛型编程 typename或者class告诉c++编译器T是一个数据类型,不要进行语法检查 typename和c

C++ 回调函数的定义与用法

一回调函数 我们经常在C++设计时通过使用回调函数可以使有些应用(如定时器事件回调处理.用回调函数记录某操作进度等)变得非常方便和符合逻辑,那么它的内在机制如何呢,怎么定义呢?它和其它函数(比如钩子函数)有何不同呢? 使用回调函数实际上就是在调用某个函数(通常是API函数)时,将自己的一个函数(这个函数为回调函数)的地址作为参数传递给那个函数. 而 那个函数在需要的时候,利用传递的地址调用回调函数,这时你可以利用这个机会在回调函数中处理消息或完成一定的操作.至于如何定义回调函数,跟具体使用的 A

javascript 函数的定义与参数的有无

一.函数定义 function fName(params){ statements; return somevalue;//可以省略 } 注意事项: 1.参数可有,可无.不定义参数,在调用参数时,也可以传入参数: 例如: 1 function add(){ 2 if(arguments.length==1){ 3 alert(arguments[0]); 4 }else if(arguments.length==2){ 5 alert(arguments[0] + arguments[1] );

C/C++函数重复定义、头文件重复包含、互相包含问题

1.避免头文件重复包含 // test.h 此段宏的意思是如果定义了宏变量TEST_H_则不再定义它 #ifndef TEST_H_ #define TEST_H_ //头文件内容 #endif 或者 // test.h 告诉预编译器只包含一次 #pragma once 2.避免重复定义 不要将函数定义放置在头文件里面,正确的做法是头文件放置函数声明,源文件放置函数定义.因为源文件是分别编译的,假如头文件放置了函数定义,包含该头文件的每一个源文件都会定义相应的函数,从而导致重复定义.但是几种情况

Python函数的定义与使用

一.函数定义与基本应用 #!/usr/bin/env python3 '''#函数的定义.最基本的应用def MyFirstFunction(): a = 1+2 print(a) MyFirstFunction() #函数的执行First = MyFirstFunction #函数可以指向一个对象First()''' '''#函数的返回值(return).我们可以根据返回值来判断程序是否执行成功:如何函数中没有用retrun.返回值为None#邮件发送实例#函数中遇到retrun值后,后面的代

[java学习笔记]java语言基础概述之函数的定义和使用&amp;函数传值问题

1.函数 1.什么是函数? 定义在类中的具有特定功能的一段独立小程序. 函数也叫做方法 2.函数的格式 修饰符   返回值类型    函数名(参数类型  形式参数1, 参数类型  形式参数2-) {           执行语句(函数体);           return 返回值;       } 返回值类型:函数运行完成后输出的数据类型. 参数类型:是形式参数的数据类型. 形式参数:是一个变量,用于储存调用函数时传递给函数的实际参数. 实际参数:传递给形参的实际数据. return:结束函数

[Go语言]从Docker源码学习Go——结构和函数的定义

Docker在最近很火,而作为Docker的开发语言-Go也再次被大家提到. 已经使用Docker一段时间了,但是对于源码,尤其是其开发语言Go却一直是一知半解. 最近准备利用空余时间从Docker源代码入手来学习一下Go,同时对Docker的实现也希望可以提高一个层次. 有兴趣的可以一起讨论,学习. 准备工作: 1. Docker源代码https://github.com/docker/docker (版本1.1.2) 2. 安装开发工具LiteIDE, 这个是官方的Go语言的IDE 3. G