JavaScript中定义函数的三种方法
作者:bea
在JavaScript的世界里,定义函数的方法多种多样,这正是JavaScript灵活性的体现,但是正是这个原因让初学者摸不着头脑,尤其对于没有 语言基础的同学。正所谓条条大道通罗马,但是如果道路太多,会让行路者不知所措,因为不知道走那条路才是正途,呵呵,废话一大篇,闲言少叙,先看代码: 代码如下: /*第一种方法,使用function语句,格式如下*/ function fn(){ alert("这是使用function语句进行函数定义"); } fn()
在JavaScript的世界里,定义函数的方法多种多样,这正是JavaScript灵活性的体现,但是正是这个原因让初学者摸不着头脑,尤其对于没有 语言基础的同学。正所谓条条大道通罗马,但是如果道路太多,会让行路者不知所措,因为不知道走那条路才是正途,呵呵,废话一大篇,闲言少叙,先看代码:
代码如下:
/*第一种方法,使用function语句,格式如下*/
function fn(){
alert("这是使用function语句进行函数定义");
}
fn();
/*第二种方法,使用Function()构造函数克隆函数*/ var F = new Function("a","b","alert(a+b)"); F(a,b);
其实相当于如下代码: function F(a,b){
alert(a+b); }
/*第三种方法,使用函数直接量*/ var zhenn = function(){
alert("zhenn"); } zhenn();
其中用“function语句”和使用“函数直接量”来定义函数的方法似乎比较常见,也比较好理解,在此不多说。针对使用Function()构造函数克 隆函数,一般很少用,因为一个函数通常有多条语句组成,如果将他们以字符串的形式作为参数传递,难免会使得代码的可读性很差。
在这里再顺便提一下构造函数吧,其实从字面上理解,构造函数似乎也是函数,其实它并不是函数,而只是一种函数模型。举个不恰当的例子,构造函数相当于一部 刚组装好的车子,无论远看还是近看,它都是一部车子,但是还没有加油(代表在使用前的一个必要步骤),所以它并不能启动。如果想要这部车子正常行驶,就必 须给它加上油,其实这个过程就等同于构造函数的实例化,否则它并不能正常运行!看下面这个例子:
代码如下:
function Fn(){ //定义构造函数
this.elem ="这里是使用function()构造函数定义函数,呵呵";
this.fn = function(){
alert("这是使用function()构造函数定义函数,嘿嘿");
}
}
var f = new Fn(); //实例化
alert(f.elem);
f.fn();
有用 | 无用
代码如下:
/*第一种方法,使用function语句,格式如下*/
function fn(){
alert("这是使用function语句进行函数定义");
}
fn();
/*第二种方法,使用Function()构造函数克隆函数*/ var F = new Function("a","b","alert(a+b)"); F(a,b);
其实相当于如下代码: function F(a,b){
alert(a+b); }
/*第三种方法,使用函数直接量*/ var zhenn = function(){
alert("zhenn"); } zhenn();
其中用“function语句”和使用“函数直接量”来定义函数的方法似乎比较常见,也比较好理解,在此不多说。针对使用Function()构造函数克 隆函数,一般很少用,因为一个函数通常有多条语句组成,如果将他们以字符串的形式作为参数传递,难免会使得代码的可读性很差。
在这里再顺便提一下构造函数吧,其实从字面上理解,构造函数似乎也是函数,其实它并不是函数,而只是一种函数模型。举个不恰当的例子,构造函数相当于一部 刚组装好的车子,无论远看还是近看,它都是一部车子,但是还没有加油(代表在使用前的一个必要步骤),所以它并不能启动。如果想要这部车子正常行驶,就必 须给它加上油,其实这个过程就等同于构造函数的实例化,否则它并不能正常运行!看下面这个例子:
代码如下:
function Fn(){ //定义构造函数
this.elem ="这里是使用function()构造函数定义函数,呵呵";
this.fn = function(){
alert("这是使用function()构造函数定义函数,嘿嘿");
}
}
var f = new Fn(); //实例化
alert(f.elem);
f.fn();
有用 | 无用
猜你喜欢
您可能感兴趣的文章:
- JavaScript中常用的六种互动方法示例
- jQuery.position()方法获取不到值的安全替换方法
- 检测一个函数是否是JavaScript原生函数的小技巧
- DOM操作一些常用的属性汇总
- JavaScript获取页面上被选中文字的方法技巧
- jQuery源码分析之Callbacks详解
- JavaScript获取伪元素(Pseudo-Element)属性的方法技巧
- Javascript定义类(class)的三种方法详解
- JavaScript中5种调用函数的方法
- JavaScript实现的一个倒计时的类
- JavaScript将XML转成JSON的方法
- JavaScript中诡异的delete操作符
- JavaScript实现计算字符串中出现次数最多的字符和出现的次数
- jquery实现页面关键词高亮显示的方法
- JavaScript设计模式学习之“类式继承”
- 鼠标事件的screenY,pageY,clientY,layerY,offsetY属性详解
- JavaScript中return false的用法
- JavaScript中神奇的call()方法
- jquery实现无限分级横向导航菜单的方法