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 相关文章推荐
用js判断浏览器是否是IE的比较好的办法
May 08 Javascript
javascript+mapbar实现地图定位
Apr 09 Javascript
一些常用的JavaScript函数(json)附详细说明
May 25 Javascript
js取两个数组的交集|差集|并集|补集|去重示例代码
Aug 07 Javascript
JavaScript和HTML DOM的区别与联系及Javascript和DOM的关系
Nov 15 Javascript
Vuejs第一篇之入门教程详解(单向绑定、双向绑定、列表渲染、响应函数)
Sep 09 Javascript
JS匿名函数类生成方式实例分析
Nov 26 Javascript
详解vue 组件之间使用eventbus传值
Oct 25 Javascript
解决iview打包时UglifyJs报错的问题
Mar 07 Javascript
JavaScript如何把两个数组对象合并过程解析
Oct 10 Javascript
vue+vant实现购物车全选和反选功能
Nov 17 Vue.js
QT与javascript交互数据的实现
May 26 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 生成微信红包代码简单
2016/03/25 PHP
PHP基于curl模拟post提交json数据示例
2018/06/22 PHP
用javascript实现的激活输入框后隐藏初始内容
2007/06/29 Javascript
firefox插件Firebug的使用教程
2010/01/02 Javascript
jquery三个关闭弹出层的小示例
2013/11/05 Javascript
JQuery中dataGrid设置行的高度示例代码
2014/01/03 Javascript
JavaScript分析、压缩工具JavaScript Analyser
2014/12/31 Javascript
jQuery实现checkbox全选的方法
2015/06/10 Javascript
Adapter适配器模式在JavaScript设计模式编程中的运用分析
2016/05/18 Javascript
JavaScript遍历Json串浏览器输出的结果不统一问题
2016/11/03 Javascript
详解Angular CLI + Electron 开发环境搭建
2017/07/20 Javascript
vue 使某个组件不被 keep-alive 缓存的方法
2018/09/21 Javascript
react同构实践之实现自己的同构模板
2019/03/13 Javascript
vue cli使用融云实现聊天功能的实例代码
2019/04/19 Javascript
在Vue项目中用fullcalendar制作日程表的示例代码
2019/08/04 Javascript
vue 根据选择条件显示指定参数的例子
2019/11/09 Javascript
python虚拟环境 virtualenv的简单使用
2020/01/21 Javascript
Python操作RabbitMQ服务器实现消息队列的路由功能
2016/06/29 Python
python图像和办公文档处理总结
2019/05/28 Python
PyCharm导入python项目并配置虚拟环境的教程详解
2019/10/13 Python
Python aiohttp百万并发极限测试实例分析
2019/10/26 Python
CSS3的常见transformation图形变化用法小结
2016/05/13 HTML / CSS
TripAdvisor日本:全球领先的旅游网站
2019/02/14 全球购物
黄色火烈鸟:De Gele Flamingo
2019/03/18 全球购物
法国女性内衣购物网站:Glamuse
2019/05/13 全球购物
爱尔兰最大的体育零售商:Life Style Sports
2019/06/12 全球购物
AURALog面试题软件测试方面
2013/10/22 面试题
模特大赛策划方案
2014/05/28 职场文书
医学专业毕业生求职信
2014/06/20 职场文书
员工激励培训演讲稿
2014/09/16 职场文书
六五普法宣传标语
2014/10/06 职场文书
12.4全国法制宣传日活动总结
2014/11/01 职场文书
2014年劳动部工作总结
2014/12/11 职场文书
餐厅开业活动方案
2019/07/08 职场文书
python删除csv文件的行列
2021/04/06 Python
Python编程中内置的NotImplemented类型的用法
2022/03/23 Python