JavaScript中的Function类型

函数实际上是对象,每个函数都是Function类型的实例,定义Function函数的方式如下:

 1      //第一种:函数声明
 2       function sum(num1,num2){
 3           return num1 + num2;
 4       }
 5
 6       //第二种:函数表达式
 7       var sum = function(num1,num2){
 8           return num1 + num2;
 9       }
10
11       //第三种:Function构造函数
12       var sum = new Function("num1","num2","return num1+num2"); //不推荐 

*注意点:

(1)函数是对象,函数名是访问函数指针,而非调用。

(2)函数没有重载,因为函数名为指针。

(3)函数声明与函数表达式区别:解析器会率先读取函数声明,并使其在执行任何代码之前可用(可以访问),而对于函数表达式,则必须等到解析器执行到它所在的代码行,才会真正解释执行。

(4)函数名本身就是变量,所以函数也可以作为值来使用,不仅可以像传递参数一样把一个函数传递给另一个函数,而且可以将一个函数作为另一个函数的结果返回。

(5)函数内部有两个特殊对象:arguments和this,arguments有个名叫callee的属性,该属性是一个指针,指向拥有这个arguments对象的函数;this应用的是函数据以执行的环境对象;另外,caller属性中保存着调用当前函数的函数的应用。

函数的属性:

  • length:表示函数希望接收的命名参数的个数;
  • prototype:原型属性

函数的方法:

  • apply()和call(),这两个方法的用途都是在特定的作用域中调用函数,实际上等于设置函数体内this对象的值。用途:传递参数,扩充函数运行的作用域。
时间: 2024-08-05 10:09:14

JavaScript中的Function类型的相关文章

【JavaScript】【学习】3、JavaScript中的function类型

在JavaScript中,函数其实是对象 函数名其实是指向一个函数对象的指针=>将函数名赋值为null,函数依然存在 =>使用布袋括号的函数名是访问函数指针,而不是调用函数 1,函数不会重载,声明两个同名函数,后者会覆盖前者 2,函数声明与函数表达式 函数的两种声明方式: function functionName() {do something} var functionName = new function(){do something}; 两种方式的区别在于在后者之前使用alert(fu

转载自chaos_JS 的JavaScript中的Function类型浅析

1. Function类型是js中引用类型之一,每个函数实际上都是Function类型的实例对象,具有自己的属性和方法.正因为函数式对象,所以函数名实际上也是一个指向函数对象的指针. 2. 常用的函数定义方式 1. 函数声明: function sum(a , b ){ return a+b; } 2. 表达式: var sum = function(){ return a+b; }; //注意分号 //两种方式的区别: //解释器会率先读取函数声明,并使其在执行之前可以访问,而使用表达式则必须

JavaScript中的Function类型浅析

1. Function类型是js中引用类型之一,每个函数实际上都是Function类型的实例对象,具有自己的属性和方法.正因为函数式对象,所以函数名实际上也是一个指向函数对象的指针. 2. 常用的函数定义方式 1. 函数声明: function sum(a , b ){ return a+b; } 2. 表达式: var sum = function(){ return a+b; }; //注意分号 //两种方式的区别: //解释器会率先读取函数声明,并使其在执行之前可以访问,而使用表达式则必须

JavaScript中的Function类型总结

1.创建函: 2.没有重载 3.作为值得参数 1)将一个函数作为参数传递给另一个函数 2)将一个一个函数作为另一个函数的结果返回 4.函数的内部属性 1)argument:保存函数参数的类数组对象 2)this对象:引用的是函数据以执行的环境对象 3)caller属性:保存着调用当前函数的函数的引用 5.函数属性和方法 1)length属性:表示函数希望接收的命名参数的个数 2)apply().call():在特定的作用域中调用函数,实际上等于设置函数体内this对象的值. apply():接收

(转)JavaScript中判断对象类型的种种方法

我们知道,JavaScript中检测对象类型的运算符有:typeof.instanceof,还有对象的constructor属性: 1) typeof 运算符 typeof 是一元运算符,返回结果是一个说明运算数类型的字符串.如:"number","string","boolean","object","function","undefined"(可用于判断变量是否存在). 但 type

JavaScript中两种类型的全局对象/函数(转)

转自:http://www.cnblogs.com/snandy/archive/2011/03/19/1988626.html 这里所说的JavaScript指浏览器环境中的包括宿主环境在内的.第一种是ECMAScript Global Object,第二种是宿主环境(Host)下的全局对象/函数. 一.核心JavaScript内置对象,即ECMAScript实现提供的不依赖于宿主环境的对象 这些对象在程序执行之前就已经(实例化)存在了.ECMAScript称为The Global Objec

JavaScript中的Date类型详解与moment简介

关于JavaScript中的Date类型,相信JSer们都不会陌生吧,但是也必然为那个复杂难记的各种转换函数所头疼,本文将分享一下我对JS中的Date类型的一些知识小总结,并把其中容易犯错的地方指出来,同时简介和推广moment.js这个js库,希望大家看完文章后以后在对Date类处理如鱼得水. 1 时间的唯一性与多样性 某一时刻在全世界任何地区应该是唯一的,时区的不同是为了让地球不同时区的人的中午十二点都是太阳正上当头,形成交流上没有那么多障碍.而这一标准就是大家熟知的格林威治标准时间(Gre

JavaScript中的值类型和引用类型

先抛出一个题目,阿里的笔试面试题(很基础,但确实是阿里的笔试题) var a = {"x": 1}; var b = a; a.x = 2; a = {"x": 3}; console.log(b.x); 大家觉得最后在控制台输出的结果是多少? 如果你答案是2,那你就没必要接下去看了.如果不是.那你就接着看下去来解决你的疑惑吧! JavaScript中的值类型和引用类型 在javascript里面有两种变量类型,一种是值类型,一种是引用类型. 值类型:数值.布尔型.

JavaScript中判断变量类型最简洁的实现方法(#################################)

这篇文章主要介绍了JavaScript中判断整字类型最简洁的实现方法,本文给出多个判断整数的方法,最后总结出一个最短.最简洁的实现方法,需要的朋友可以参考下 我们知道JavaScript提供了typeof运算符,因此最容易想到的是用typeof来判断是否是number类型. 复制代码代码如下: 1 2 3 function isNumber(obj) {     return typeof obj === 'number' } 这个函数对于整数和浮点数都没有问题,但对于NaN值也返回true这让