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 相关文章推荐
让textarea控件的滚动条怎是位与最下方
Apr 20 Javascript
用Javascript 获取页面元素的位置的代码
Sep 25 Javascript
JavaScript Distilled 基础知识与函数
Apr 07 Javascript
javascript修改图片src的方法
Jan 27 Javascript
JavaScript判断数组是否包含指定元素的方法
Jul 01 Javascript
js jquery获取当前元素的兄弟级 上一个 下一个元素
Sep 01 Javascript
全面了解JavaScript的数据类型转换
Jul 01 Javascript
BootStrap下拉框在firefox浏览器界面不友好的解决方案
Aug 18 Javascript
JavaScript 随机验证码的生成实例代码
Sep 22 Javascript
Vue.js中数据绑定的语法教程
Jun 02 Javascript
使用puppeteer爬取网站并抓出404无效链接
Dec 20 Javascript
使用Angular Cli如何创建Angular私有库详解
Jan 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/11/08 PHP
php有效防止同一用户多次登录
2015/11/19 PHP
php简单备份与还原MySql的方法
2016/05/09 PHP
asp.net HttpHandler实现图片防盗链
2009/11/09 Javascript
js+css实现有立体感的按钮式文字竖排菜单效果
2015/09/01 Javascript
AngularJS 基础ng-class-even指令用法
2016/08/01 Javascript
js实现文字截断功能
2016/09/14 Javascript
bootstrap——bootstrapTable实现隐藏列的示例
2017/01/14 Javascript
BootstrapTable请求数据时设置超时(timeout)的方法
2017/01/22 Javascript
微信小程序后台解密用户数据实例详解
2017/06/28 Javascript
原生JS获取元素的位置与尺寸实现方法
2017/10/18 Javascript
如何选择适合你的JavaScript框架
2017/11/20 Javascript
javaScript实现鼠标在文字上悬浮时弹出悬浮层效果
2020/04/12 Javascript
解决vue props 拿不到值的问题
2018/09/11 Javascript
微信小程序实现文字跑马灯
2020/05/26 Javascript
使用webpack构建应用的方法步骤
2019/03/04 Javascript
使vue实现jQuery调用的两种方法
2019/05/12 jQuery
用Python实现一个简单的多线程TCP服务器的教程
2015/05/05 Python
Python简明入门教程
2015/08/04 Python
Python使用pylab库实现画线功能的方法详解
2017/06/08 Python
详解Django 中是否使用时区的区别
2018/06/14 Python
Python File(文件) 方法整理
2019/02/18 Python
Python网络爬虫之爬取微博热搜
2019/04/18 Python
Python爬虫爬取Bilibili弹幕过程解析
2019/10/10 Python
jupyter 中文乱码设置编码格式 避免控制台输出的解决
2020/04/20 Python
Python中random模块常用方法的使用教程
2020/10/04 Python
中国海淘族值得信赖的海淘返利网站:55海淘
2017/01/16 全球购物
有兼职工作经历的简历自我评价
2014/03/07 职场文书
美丽家庭事迹材料
2014/05/03 职场文书
说明书范文
2014/05/07 职场文书
创意婚礼策划方案
2014/05/18 职场文书
关于感恩的素材句子(38句)
2019/11/11 职场文书
纯 CSS 自定义多行省略的问题(从原理到实现)
2021/11/11 HTML / CSS
Python四款GUI图形界面库介绍
2022/06/05 Python
超越Nginx的Web服务器caddy优雅用法
2022/06/21 Servers
Linux中各个目录的作用与内容
2022/06/28 Servers