JavaScript中定义函数的三种方法


Posted in Javascript onMarch 12, 2015

在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();
Javascript 相关文章推荐
javascript当onmousedown、onmouseup、onclick同时应用于同一个标签节点Element
Jan 05 Javascript
扩展javascript的Date方法实现代码(prototype)
Nov 20 Javascript
原生js实现查找/添加/删除/指定元素的class
Apr 12 Javascript
父节点获取子节点的字符串示例代码
Feb 26 Javascript
angularjs中的e2e测试实例
Dec 06 Javascript
JavaScript中的值类型详细介绍
Dec 29 Javascript
Javascript基础教程之if条件语句
Jan 18 Javascript
javascript实现连续赋值
Aug 10 Javascript
详解Angularjs中的依赖注入
Mar 11 Javascript
Bootstrap打造一个左侧折叠菜单的系统模板(一)
May 17 Javascript
移动端H5开发 Turn.js实现很棒的翻书效果
Jun 20 Javascript
Angular搜索场景中使用rxjs的操作符处理思路
May 30 Javascript
javascript实时显示北京时间的方法
Mar 12 #Javascript
jquery实现焦点图片随机切换效果的方法
Mar 12 #Javascript
JavaScript数据结构与算法之栈详解
Mar 12 #Javascript
jQuery实现简单的日期输入格式化控件
Mar 12 #Javascript
Javascript数据结构与算法之列表详解
Mar 12 #Javascript
javascript实现 百度翻译 可折叠的分享按钮列表
Mar 12 #Javascript
基于jquery实现的自动补全功能
Mar 12 #Javascript
You might like
PHP Token(令牌)设计
2008/03/15 PHP
PHP表单验证内容是否为空的实现代码
2016/11/14 PHP
thinkphp实现分页显示功能
2016/12/03 PHP
初学prototype,发个JS接受URL参数的代码
2006/09/25 Javascript
javascript中对对层的控制
2006/12/29 Javascript
JavaScript 版本自动生成文章摘要
2008/07/23 Javascript
Javascript 实用小技巧
2010/04/07 Javascript
jQuery学习笔记之jQuery的动画
2010/12/22 Javascript
原生js写的放大镜效果
2012/08/22 Javascript
Javascript中查找不以XX字符结尾的单词示例代码
2013/10/15 Javascript
页面元素绑定jquery toggle后元素隐藏的解决方法
2014/03/27 Javascript
使用phantomjs进行网页抓取的实现代码
2014/09/29 Javascript
js实现黑色简易的滑动门网页tab选项卡效果
2015/08/31 Javascript
JavaScript 封装一个tab效果源码分享
2015/09/15 Javascript
HTML5+Canvas调用手机拍照功能实现图片上传(下)
2017/04/21 Javascript
Angular 4依赖注入学习教程之Injectable装饰器(六)
2017/06/04 Javascript
纯js实现页面返回顶部的动画(超简单)
2017/08/10 Javascript
vue router-link传参以及参数的使用实例
2017/11/10 Javascript
JS插件clipboard.js实现一键复制粘贴功能
2020/12/04 Javascript
原生JS实现动态加载js文件并在加载成功后执行回调函数的方法
2020/12/30 Javascript
vue+axios+element ui 实现全局loading加载示例
2018/09/11 Javascript
在vue-cli 3中给stylus、sass样式传入共享的全局变量
2019/08/12 Javascript
Python基础之函数用法实例详解
2014/09/10 Python
浅析Python中yield关键词的作用与用法
2016/11/29 Python
Python数据分析之双色球统计两个红和蓝球哪组合比例高的方法
2018/02/03 Python
pandas修改DataFrame列名的实现方法
2019/02/22 Python
python画双y轴图像的示例代码
2019/07/07 Python
利用Python的turtle库绘制玫瑰教程
2019/11/23 Python
使用Django xadmin 实现修改时间选择器为不可输入状态
2020/03/30 Python
CSS3条纹背景制作的实战攻略
2016/05/31 HTML / CSS
计算机专业职业生涯规划范文
2014/01/19 职场文书
公司中秋节活动方案
2014/02/12 职场文书
网络编辑职责
2014/03/01 职场文书
小学生倡议书范文
2014/05/13 职场文书
军训拉歌口号
2014/06/13 职场文书
pygame面向对象的飞行小鸟实现(Flappy bird)
2021/04/01 Python