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类型的实例,而且都与其它引用类型一样具有属性和方法.由于是函数对象,因此函数名实际上也是一个指向函数对象 ...
随机推荐
- [JavaScript]配置日期选择控件
我选择的日期控件是:bootstrap-datepicker(下载路径:https://github.com/Aymkdn/Datepicker-for-Bootstrap) 比较方便,实用.原来是英 ...
- ZAM 3D 制作简单的3D字幕 流程(二)
原地址:http://www.cnblogs.com/yk250/p/5663907.html 文中表述仅为本人理解,若有偏差和错误请指正! 接着 ZAM 3D 制作简单的3D字幕 流程(一) .本篇 ...
- 初识ios自动化(一)
Appium进行自动化测试有两个好处: 1. Appium在不同平台中使用了标准的自动化APIs,所以在跨平台时,不需要重新编译或者修改自己的应用. 2. Appium支持Selenium WebDr ...
- 剑指Offer:面试题31——连续子数组的最大和(java实现)
问题描述 : 输入一个整数数组,数组里面有正数也有负数.数组中一个或连续几个整数组成一个子数组.求所有子数组的和的最大值.要求时间复杂度为O(n) 思路1:常规解法,不知道怎么描述了.. 代码: bo ...
- Genymotion出现virtualbox cannot start the virtual device错误
选择你要启动的device右侧的设置 打开如下界面 将Processor设置为1 (默认为4)
- select问题总结
select 从后台取来的值如何放到select里面的文本框中? $(".type option").each(function(){ if($(this).val() == de ...
- Entity Framework学习笔记——错误汇总
之前的小项目做完了,到了总结经验和更新学习笔记的时间了.开始正题之前先啰嗦一下,对之前的学习目标进行一个调整:“根据代码生成表”与“生成数据库脚本和变更脚本”合并为“Code First模式日常使用篇 ...
- Android 调用系统联系人界面的添加联系人,添加已有联系人,编辑和修改。
一.添加联系人 Intent addIntent = new Intent(Intent.ACTION_INSERT,Uri.withAppendedPath(Uri.parse("cont ...
- vc-complex-type.2.3: Element 'filter-mapping' cannot have character [children], because the type's content type is element-only.
报这种错一般是因为导入的项目或者黏贴的代码中有中文空格或者中文编码,只需将报错代码重写一遍即可.
- IOS开发者账号申请记录
1. 准备好一个企业邮箱 .企业营业执照复印件.一张可以支付的VISA或者MasterCard 2. 2016/01/13 注册appid https://developer.apple.com/pr ...