Function对象
Function对象是js中很重要的一个元素,js中所有自定义的函数都是Function对象,所以String,Number,Boolean,function等都是Function对象。所以,在使用typeof String,Number,function等时,我们都会看到会输出"function".接下来进入正题,
一般我们都是如此自定义一个函数
function test(num) {alert(name);}
如果使用Function进行test函数定义,则
var test = new Function("num","alert(name);");
上述两种都是自定义一个函数的方法,只不过一个是通过最常用的函数定义式,另一种是通过创建函数对象从而来定义一个函数。既然我们知道Function对象有如此的特性,那我们可以通过Function添加方法到所有自定义的对象中。如下
//给Function的原型对象添加一个method方法
Function.prototype.method = function(methodName, func){
this.prototype[methodName] =func;//这里已经给对象的原型添加了方法
return this;
} //现在我们给String对象们添加一个字符扩展方法(String函数是Function对象)
String.method("expand", function(){
alert(this.toString()+"..expand");
}); //String的原型已经添加了一个"expand"方法,调用它
var str = "hahah";
str.expand(); //输出"hahah..expand"
同理自定义对象也可以,如下:
function test() {
this.testName = "test";
}
test.method("showName", function() {
alert(this.testName);
});
var test1 =new test();
test1.showName(); //输出"test"
以上的这种方式,使得我们不必再使用test.prototype.showName=function(){}等方式添加自定义的方法,只需要调用method方法,就可以自动为自定义对象们添加方法了,十分方便。
Function对象的更多相关文章
- 原生JS:Function对象(apply、call、bind)详解
Function对象(apply.call.bind) 原创文章,转摘请注明出处:苏福:http://www.cnblogs.com/susufufu/p/5850180.html 本文参考MDN做的 ...
- Javascript Object、Function对象
1.Object对象 原型对象 原型是对象的一个属性,也就是prototype属性,每个对象都有这个内部属性,而且他本身也是一个对象. <script type="text/javas ...
- JavaScript学习09 函数本质及Function对象深入探索
JavaScript学习09 函数本质及Function对象深入探索 在JavaScript中,函数function就是对象. JS中没有方法重载 在JavaScript中,没有方法(函数)重载的概念 ...
- 全面理解Javascript中Function对象的属性和方法
http://www.cnblogs.com/liontone/p/3970420.html 函数是 JavaScript 中的基本数据类型,在函数这个对象上定义了一些属性和方法,下面我们逐一来介绍这 ...
- javascript对象模型和function对象
javascript中,函数就是对象 <html> <head> <script type="text/javascript"> functio ...
- 在Function对象上扩展method方法
;(function() { /** * 在Function对象上扩展method方法 * @param {String} name 扩展的方法名称 * @param {Function} callb ...
- JS function的定义方法,及function对象的理解。
废话篇: 今天看到了Function的内容,各种晕,各种混淆有木有.简直是挑战个人脑经急转弯的极限啊.不过,最终这一难题还是被我攻克了,哇咔咔.现在就把这东西记下来,免得到时候又忘了就悲催了.... ...
- JavaScript对象(正则表达式,Date对象,function对象 arguments对象)
好用的技术教程:http://www.w3school.com.cn/index.html 1:正则表达式 正则表达式通常用于验证表单 定义语法为 / / 2:Date对象 var now = new ...
- JavaScript的function对象
我必须先说Java与JavaScript没有关系,不是我以前想的那个样子的(JavaScript是Java的一种超进化) 在JavaScript中,函数(function)就是对象. JavaScri ...
- Javascript高级篇-Function对象
1.引入 1.1Function是基于原型的对象 2.创建Function对象 2.1 var myFun = new Function("参数一","参数二" ...
随机推荐
- Html5新特性 <canvas>画板画直线
以下样例为用canvas标签画多条直线 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" & ...
- spring mvc事务注解
@Transactional(noRollbackFor=RuntimeException.class)方法事务说明@Transactional(RollbackFor=Exception.class ...
- 你的第一个Windows程序——绘制窗口
MSDN原文(英文) 绘制窗口 你已经创建了你的窗口,现在你想在它里面显示东西.在WIndows术语里,这就是所谓的绘制窗口.混合隐喻,一个窗口是一个空白画布,等待你去填充它. 有时你的程序将启动绘制 ...
- Pascal's Triangle II
Given an index k, return the kth row of the Pascal's triangle. For example, given k = 3, Return [1,3 ...
- C++ inline 函数
(一)inline函数(摘自C++ Primer的第三版) 在函数声明或定义中函数返回类型前加上关键字inline即把min()指定为内联. inline int min(int first, int ...
- txt文件导入mysql--转
MySQL写入数据通常用insert语句,如 insert into person values(张三,20),(李四,21),(王五,70)…; 但有时为了更快速地插入大批量数据或交换数据,需要从文 ...
- 使用Intent实现Activity的隐式跳转
相比于显式Intent,隐式Intent 则含蓄了许多,它并不明确指出我们想要启动哪一个活动,而是指定了一系列更为抽象的action 和category 等信息,然后交由系统去分析这个Intent,并 ...
- 纯CSS3实现超立体的3D图片侧翻倾斜效果
看到网友分享的一款CSS3 3D图片侧翻倾斜特效,觉得效果非常棒,其实话说回来,这玩意儿的实现真的非常简单,主要是创意不错.先来看看效果图.那么接下来我们分析一下源码吧,显示html代码,非常简单: ...
- Jenkins api java 调用
String filepath = "E:\\config.xml"; HttpClient client = new DefaultHttpClient(); HttpPost ...
- nexus 的使用及maven的配置
一.nexus的安装 1.下载nexus(点解这里) 2.下载后解压文件,将解压后的nexus文件放在你自己想要的地方 3.配置环境变量(和配置java的环境变量一样) 4.安装和启动nexus 由于 ...