JavaScript——函数
2015-07-12 10:11
423 查看
JavaScript中定义函数可以有三种方式:调用function语句;Function()构造函数;函数直接量。
(一)function+函数名+括号括起来的参数列表(可选)+构成函数主体的javascript语句
例如:function print(x,y){return (x*y);}
(二)var+变量+new+Function(多个字符串)【最后一个字符串是函数的主体,其他字符串参数都是形式参数名。若定义的函数没有参数,可以只需传递最后一个字符串(也即函数在主体)】
例如:var f=new Function("x","y","return x*y;");
优点:1.Function()构造函数允许我们动态的建立和编译一个函数,不会将我们限制在function语句预编译的函数体中。
2.Function()构造函数能将函数定义为Javascript表达式的一部分,而不是定义为一个语句,使用起来更加方便。
缺点:每次调用函数时,Function()构造函数都要对它进行编译。不适合用于循环体或是经常使用的函数中。
(三)var+变量+function+函数名(可选可不选)+括号括起来的参数列表+构成函数主题的javascript语句
例如:var f=function print(x){return x*y;};(这里并没有真正创建一个名为print()的函数,只是允许函数体用这个名字来引用自身)
优点:1.它和Function()一样都是有javascript的表达式创建,而非语句创建,使用起来更加灵活,尤其适合那些仅使用一次而且无需命名的函数。
2.Function()构造函数创建的主题必须用一个字符串说明,这种方式用来表达长而复杂的函数是很笨拙的。二函数直接量使用的却是标准的javascript语法,而且函数直接量只被解析和编译一次,而作为字符串传递给Function()构造函数的Javascript代码每次调用时被解析和编译一次.
JavaScript中,函数并不只是一种语法,还可以是数据,这意味着能够把函数赋给变量,存储在对象的属性中或存储在数组的元素中,传递给函数等。
给所有的函数定义了两个方法apply()和call(),使用这两个方法可以像调用其他对象的方法一样调用函数。call()和apply()的第一个参数都是要调用的函数的对象,call()的剩余参数是要传递给要调用的函数的值,apply()的剩余参数也是一样的作用,只不过apply()方法传递给函数的参数是由数组指定的
(一)function+函数名+括号括起来的参数列表(可选)+构成函数主体的javascript语句
例如:function print(x,y){return (x*y);}
(二)var+变量+new+Function(多个字符串)【最后一个字符串是函数的主体,其他字符串参数都是形式参数名。若定义的函数没有参数,可以只需传递最后一个字符串(也即函数在主体)】
例如:var f=new Function("x","y","return x*y;");
优点:1.Function()构造函数允许我们动态的建立和编译一个函数,不会将我们限制在function语句预编译的函数体中。
2.Function()构造函数能将函数定义为Javascript表达式的一部分,而不是定义为一个语句,使用起来更加方便。
缺点:每次调用函数时,Function()构造函数都要对它进行编译。不适合用于循环体或是经常使用的函数中。
(三)var+变量+function+函数名(可选可不选)+括号括起来的参数列表+构成函数主题的javascript语句
例如:var f=function print(x){return x*y;};(这里并没有真正创建一个名为print()的函数,只是允许函数体用这个名字来引用自身)
优点:1.它和Function()一样都是有javascript的表达式创建,而非语句创建,使用起来更加灵活,尤其适合那些仅使用一次而且无需命名的函数。
2.Function()构造函数创建的主题必须用一个字符串说明,这种方式用来表达长而复杂的函数是很笨拙的。二函数直接量使用的却是标准的javascript语法,而且函数直接量只被解析和编译一次,而作为字符串传递给Function()构造函数的Javascript代码每次调用时被解析和编译一次.
JavaScript中,函数并不只是一种语法,还可以是数据,这意味着能够把函数赋给变量,存储在对象的属性中或存储在数组的元素中,传递给函数等。
给所有的函数定义了两个方法apply()和call(),使用这两个方法可以像调用其他对象的方法一样调用函数。call()和apply()的第一个参数都是要调用的函数的对象,call()的剩余参数是要传递给要调用的函数的值,apply()的剩余参数也是一样的作用,只不过apply()方法传递给函数的参数是由数组指定的
相关文章推荐
- JQuery1——基础($对象,选择器,对象转换)
- Android学习笔记(二九):嵌入浏览器
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- JavaScript演示排序算法
- javascript实现10进制转为N进制数
- 2019年开发人员应该学习的8个JavaScript框架
- HTML中的script标签研究
- 异步流程控制:7 行代码学会 co 模块
- JavaScript拆分字符串时产生空字符的原因
- IE8开发人员工具教程(二)
- 在flex中执行一个javascript方法的简单方式
- Flex结合JavaScript读取本地路径的方法
- PowerShell中执行Javascript的方法示例
- javascript asp教程第六课-- response方法
- javascript asp教程More About Recordsets
- javascript asp教程第十二课---session对象
- javascript asp教程创建数据库连接
- javascript asp教程错误处理