js的Function 是个对象
来源:互联网 发布:番禺网络推广公司电话 编辑:程序博客网 时间:2024/05/29 19:24
Js函数其实是个对象,但我总拿它和Java的方法一样对待,因为它的写法明明就是一个“函数”。
其实我们常用的定义函数的写法只是写法之一,写法其实有三种:
1 声明式的(静态的)
2 对象式的(动态的)
3 字面量式的(也被称为函数表达式)
下面分别介绍一下。
1 声明式的
写法:function func(param1,param2…){…};
这是最常用的,它是静态的,和Java的静态方法类似,在页面加载时就被解析,且只解析一次。这个我就不细说了,程序员都知道。
2 对象式的
写法:var func =new Function("param1","param2",..."function body");
例子:var sayHi=new Funciton("toWhom","alert('hi'+toWhom)");
说明:构造函数的参数个数不确定,倒数第一个形参就是函数体,其它的形参就是函数的形参。
对象式(其实这是我给命的名,书中叫动态式我觉得欠妥,这种写法明明就是在创建对象)是动态的,因为它构造函数的参数都是字符串,可以动态改变。正是如此,函数体每创建一次,浏览器都要重新解析,性能肯定不如静态方式,但它也有它的优势,因为你可用利用它动态创建一个函数。
3 字面量式
写法:var func=function [函数名可选,函数内可见](parms){...};
例子:var func=function funcTest(id){alert(id)}
说明:这种写法的函数名,只有在函数体内可见,可用于实现递归函数。
字面量式多用于事件注册,如:obj.onclick=function(this){alert(this.id)}。
无论用何种写法,实际上都是创建了一个函数对象,没有本质的区别。不能凭经验想当然把js函数看作是其他语言的“函数”,那样就会浪费它的灵活性,它可以像其它类型实例一样被当作参数传递。
- js的Function 是个对象
- js的Function对象的讲解
- js的function, javascript内置对象
- 【JavaScript】Function类型是对象
- Python判断对象是否是function的三种方法
- JS——Function对象
- JS获取function方法里定义的对象
- Prototype.js是个不错的东西
- JS对象属性是无序的
- Function 对象的方法
- javascript (function(){})()是个什么鬼?!
- js对象的3个属性
- 49 JS-3 function 对象,基本数据类型 对象的定义 匿名函数
- Js面向对象学习之function
- 关于js中function传对象问题
- JS-Function 构造器及其对象、方法
- 认识js函数对象(Function Object)
- jQuery语法,是一种很接近于java的语法,即 对象.function()
- 取时间的年和月XXXX-XX
- 心有灵犀
- 使用Log4PHP作为php项目的log输出工具
- hdu 4291(矩阵幂)
- UVaOJ11218 - KTV
- js的Function 是个对象
- C++中的单例模式 .
- 再谈互联网平台化-糗百成功案例
- 安装vmare-tools ——实现ubuntu与windows的互相复制与粘贴(无需共享文件夹)
- 投票网站分析及伪造IP技术
- HDU 3535 AreYouBusy 经典混合背包
- UVaOJ10905 - Children's Game
- IOS app 上线流程
- Ruby Gem 的基础知识和详解