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类型的实例,而且都与其它引用类型一样具有属性和方法.由于是函数对象,因此函数名实际上也是一个指向函数对象 ...
随机推荐
- SQL Server 树形表非循环递归查询
很多人可能想要查询整个树形表关联的内容都会通过循环递归来查...事实上在微软在SQL2005或以上版本就能用别的语法进行查询,下面是示例. --通过子节点查询父节点WITH TREE AS( ...
- JNI相关知识
JNI(Java Native Interface,JAVA原生接口) 使用JNI可以使Java代码和其他语言写的代码(如C/C++代码)进行交互. 问:为什么要进行交互? |- 首先,Java语言 ...
- 如何彻底卸载Oracle
如何彻底卸载Oracle 因为Oracle在Windows下的卸载颇有一些麻烦,如果不能完全卸载有可能影响将来的再次安装!常规卸载方法是运行Oracle的自带的卸载程序,可遗憾的是我在卸载时总不能完全 ...
- Sqlserver 自定义表类型定义,使用,删除
--创建用户自定义表类型CREATE TYPE dbo.CustomerTable AS TABLE ( Id int NOT NULL, Name char(10) NULL, PRIMARY KE ...
- 关于Jquery中ajax介绍
jQuery 底层 AJAX 实现.简单易用的高层实现见 $.get, $.post 等.$.ajax() 返回其创建的 XMLHttpRequest 对象.大多数情况下你无需直接操作该函数,除非你需 ...
- gdb 调试程序
要调试生成的可执行程序,必须在生成的时候加入-g选项,生成可以调试的代码 例如:gcc -o test a.c b.c -g 这样gcc就会在链接的时候加入一些用于调试的符号 在生成可以调试的可执行程 ...
- PL/SQL Developer 和 instantclient客户端安装配置(图文)
一: PL/SQL Developer 安装 下载安装文件安装,我这里的版本号是PLSQL7.1.4.1391,安装目录是:D:\soft\PLSQLDeveloper 二:instantclient ...
- border在IE6设置transparent无效
在ie6下给border设置transparent是无效的,解决办法如下: _border-color:tomato; /*For IE6-*/ _filter:chroma(color=tomato ...
- 关于Hibernate XXX is not mapped 错误
我的实体类是这么配置的 @Entity(name="EntityName") //必须,name为可选,对应数据库中一的个表 就会出现 XXX is not mapped. ...
- Spring boot开发过程遇到的一些小问题
1.无法将yml文件自动注入到对应的类的实例中去: pom.xml文件里没有加如下依赖 <dependency> <groupId>org.springframework.bo ...