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 异步页面查询实现代码(asp.net)
May 26 Javascript
实现局部遮罩与关闭原理及代码
Feb 04 Javascript
jquery实现全选、反选、获得所有选中的checkbox
Sep 13 Javascript
最简单的JavaScript图片轮播代码(两种方法)
Dec 18 Javascript
JavaScript的模块化开发框架Sea.js上手指南
May 12 Javascript
项目实践一图片上传之form表单还是base64前端图片压缩(前端图片压缩)
Jul 28 Javascript
AngularJs bootstrap搭载前台框架——js控制部分
Sep 01 Javascript
vue2.X组件学习心得(新手必看篇)
Jul 05 Javascript
JS+Canvas绘制动态时钟效果
Nov 10 Javascript
angularjs使用gulp-uglify压缩后执行报错的解决方法
Mar 07 Javascript
Vue.js+Layer表格数据绑定与实现更新的实例
Mar 07 Javascript
VUE 单页面使用 echart 窗口变化时的用法
Jul 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计算两个日期时间差(返回年、月、日)
2014/06/19 PHP
php5.4以下版本json不支持不转义内容中文的解决方法
2015/01/13 PHP
WordPress中用于获取文章信息以及分类链接的函数用法
2015/12/18 PHP
smarty学习笔记之常见代码段用法总结
2016/03/19 PHP
JavaScript 读取元素的CSS信息的代码
2010/02/07 Javascript
有趣的JavaScript数组长度问题代码说明
2011/01/20 Javascript
javascript针对DOM的应用分析(四)
2012/04/15 Javascript
表格单元格交错着色实现思路及代码
2013/04/01 Javascript
点击表单提交时出现jQuery没有权限的解决方法
2014/07/23 Javascript
JavaScript获得表单target属性的方法
2015/04/02 Javascript
JavaScript兼容性总结之获取非行间样式案例
2016/08/07 Javascript
使用jquery datatable和bootsrap创建表格实例代码
2017/03/17 Javascript
基于pako.js实现gzip的压缩和解压功能示例
2017/06/13 Javascript
Vue 中的compile操作方法
2018/02/26 Javascript
Java设计中的Builder模式的介绍
2018/03/22 Javascript
JS中call和apply函数用法实例分析
2018/06/20 Javascript
详解webpack import()动态加载模块踩坑
2018/07/17 Javascript
Vue组件中的data必须是一个function的原因浅析
2018/09/03 Javascript
VUE引入第三方js包及调用方法讲解
2019/03/01 Javascript
layui自定义验证,用ajax查询后台是否有重复数据,form.verify的例子
2019/09/06 Javascript
浅谈vuex中store的命名空间
2019/11/08 Javascript
OpenLayers3实现测量功能
2020/09/25 Javascript
Linux下python3.7.0安装教程
2018/07/30 Python
Python开发最牛逼的IDE——pycharm
2018/08/01 Python
Python代码打开本地.mp4格式文件的方法
2019/01/03 Python
Python检查图片是否损坏及图片类型是否正确过程详解
2019/09/30 Python
使用Django搭建一个基金模拟交易系统教程
2019/11/18 Python
Python os模块常用方法和属性总结
2020/02/20 Python
浅谈Pytorch torch.optim优化器个性化的使用
2020/02/20 Python
css3的过滤效果简单实例
2016/08/03 HTML / CSS
英国领先的野生鸟类食品供应商:GardenBird
2018/08/09 全球购物
办公室内勤工作职责
2013/12/11 职场文书
不打扫卫生检讨书
2014/02/12 职场文书
师德师风自我剖析材料
2014/09/27 职场文书
文明单位汇报材料
2014/12/24 职场文书
2015年安全月活动总结
2015/03/26 职场文书