Function类型
1.每个函数都是Function类型的,和其他引用类型一样都具有属性和方法。函数也是对象,因此函数实际上是一个指向函数对象的指针。
函数声明语法定义:
方法1:
function sum(num1,num2){
return num1+num2;
}
方法2:
和下面使用函数表达式定义函数的方式几乎一样(匿名函数)
var sum=function(num1,num2){
return num1+num2;
};
匿名函数,通过一个变量sum就可以引用函数。另外函数末尾有个分号,和声明一个变量一样 如var a;结尾有个分号结束。
方法3:(不推荐使用)
var sum=new Function("num1","num2","return num1+num2");
1.1没有重载
<script>
function calc(num1,num2){
return num1+num2;
}
function calc(num1,num2){
return num1+num2;
}
var sum=calc(3,5);
</script>
上面例子声明了两个同名函数,结果是后面的函数覆盖了前面的函数。
1.2函数声明和函数表达式的区别
Javascript语言是弱类型语言,解释执行。解析器会率先加载函数声明,使其在执行任何代码之前可用;而函数表达式,必须
等到解析器执行到所在的代码时才会被解释执行。
alert(sum(3,5));
function sum(num1,num2){
return num1+num2;
}
以上代码运行是没有问题的,因为在代码开始执行之前,解析器已经通过一个名为函数声明提升的过程,读取并将函数声明添加到执行环境中。
alert(sum(3,5));
var sum=function(num1,num2){
return num1+num2;
}
以上代码在运行期间会出错的,原因在于函数位于一个初始化语句中,而不是函数声明。也就是说在执行到函数所在的语句时,变量sum中不会保存有对函数的引用。
注意:处理什么时候通过变量访问函数这一点外,函数声明和函数表达式的语法是完全等价的。
1.3作为值的函数
1.4函数内部属性
1.5数属性和方法
Function类型的更多相关文章
- 引用类型-Function类型
Function类型 定义函数的三种方式: 1.函数声明 function sum(num1,num2){ return num1 +num2; } 2.函数表达式 var sum = functio ...
- 【笔记】js Function类型 内部方法callee
运用function实现阶乘 以往的做法是如下的 function factorial(num){ if(num <= 1){ return 1; }else{ return num * fac ...
- JavaScript笔记——引用类型之Object类型和Function类型
<JavaScript高级程序设计>中介绍的几种JavaScript的引用类型,本文只记了Object跟Function类型 Object类型 创建对象 var person = new ...
- String类型,Function类型
1.String类型: 1)创建String对象: var str=new String(s); String(s); 参数:参数 s 是要存储在 String 对象中的值或转换成 ...
- JavaScript高级 Function类型
· Function类型 (属于引用类型) 1.JS中,有的函数均是对象,这个一个非常有特点的地方.它既然是对象,那么它的构造函数是谁呢?就是Function.(例如:function Pers ...
- 浅析JavaScript之Function类型
JavaScript中的函数实际上是对象,每个函数都是Function类型的实例,而且都与其他引用类型一样具有属性和方法.由于函数是对象,因此函数名实际上只是指向函数对象的指针,保存函数在堆内存中的地 ...
- 笔记——Function类型 及其 call、apply方法
每个函数都是Function类型的实例.函数有三种定义方式和两个内部属性arguments和this. 同时函数也是对象,也有属性和方法.本篇主要其call()和apply()方法 属性 length ...
- 引用类型之Function类型
Function类型 ECMAScript中最有意思的就是函数了,有意思的根源,在于函数实际上是对象.每个函数都是Function的实例,具有属性和方法.而重要的一点是,函数名,不过是指向函数的指针, ...
- 第十一章 Function类型
在ECMAScript中,Function(函数)类型实际上是对象.每个函数也是Function类型的实例,而且都与其它引用类型一样具有属性和方法.由于是函数对象,因此函数名实际上也是一个指向函数对象 ...
随机推荐
- 飞思卡尔imx6开发板Linux下GPIO驱动
控制GPIO_1_28的输出: #define MY_BOMB_GPIO IMX_GPIO_NR(1, 28) 配置为输出方式: gpio_direction_output (MY_BOM ...
- mount什么意思
root@Home-Cloud:/mnt# dfFilesystem 1K-blocks Used Available Use% Mounted on/dev/root ...
- Mono 异步加载数据更新主线程
主要是用 async和 await 调用 RunOnUiThread来更新. 调用函数: //异步加载数据开始 doInBackground (); //异步加载数据开始end protected a ...
- sql 删除重复数据且保留其中一条 用sql 关键字:with ROW_NUMBER
--1.建立表:Coursecreate table Course( ID int identity(1,1),--ID Student varchar(20) ,--学生 Sub varchar(2 ...
- 3.1 ARM汇编编程概述
1. 汇编编程 为什么要学习汇编 1). Bootloader初始化 2). Linux kernel 3). 高效 2. ARM汇编分类 1. ARM标准汇编:ARM公司得汇编器适合在Windows ...
- 创建DAO模式的步骤
1.建立数据库epet 2.创建实体类,和相对应的数据库是对应的 3.创建Dao的基类接口类BaseDao 4.创建Dao的实现类BaseDaoImpl 5.创建具体表的Dao类 6.创建具体表的Da ...
- 关于reset.css的疑问:为什么一定要重置浏览器样式?
自开始做前端算起,我所做过的每一个项目中都会有一个reset.css,也就是重置样式表.我现在想想都不知道第一次是从哪儿弄来的一个重置样式表.快五年了,好像从来都没有质疑过关于重置样式表的内容. 这样 ...
- 分享45个android实例源码,很好很强大
分享45个android实例源码,很好很强大 http://www.apkbus.com/android-20978-1-1.html 分享45个android实例源码,很好很强大http://www ...
- Drools规则
1.实现业务逻辑和业务规则的分离,实现业务规则的集中管理 2.可以动态的改变业务规则,从而快速响应需求变更 3.业务分析人员也可以参与编辑.维护系统的业务规则 fact:一个普通的JavaBean插入 ...
- tableView中cell的重用机制
如果用UITableView显示成千上万条数据,就需要成千上万个UITableViewCell对象,然而OS设备的内存是有限的,这样就将耗尽iOS设备的内存.要解决这个问题,需要提到重用UITable ...