javascript中Function类型详细介绍
来源:才华咖 本文已影响6.96K人
来源:才华咖 本文已影响6.96K人
function类型,毋庸置疑是js中相当重要的一个玩意。
1.这玩意首先是一个对象,也就是说它是一个引用类型。陈述:一听说是对象,是不是很有一种它的基类是object对象错觉感,No,
它和object是独立的2个东西。当你typeof function 时,返回的.是 funciton 并非 object
2.每个函数都是 Function 对象的一个实例,它与其他引用对象一样具有属性和方法。由于它是对象所以函数名是指向函数对象的指针
关于函数的声明的语法支持:
//方式1 function fun(num1,num2){ return num1+num2; } //方式2 var fun=function(num1,num2){ return num1+num2; }; //方式3 var fun=new Function("n1","n2","return n1+n2");
讲解:3种方式都能完成一个函数的声明,但各有不同。
方式1 理解为 一个函数的声明,方式2,方式3理解为函数表达式。(方式3不推荐使用,原因会导致解析2次代码,先解释常规ECMAScript代码,在解释传入的参数,这种
写法,参数可以是N个,但是最后一个参数视为函数主体)
为什么说不同,主要在于,js解析器对函数声明 和 函数表达式 解析的不同。解析器会优先读取函数申明,js引擎在执行时会将函数声明自动放到执行环境的最顶端。
而函数表达式则不同,当执行到函数表达式时,才会真正去被解释执行。关于这点理解很重要!
看代码
(typeof fun); //"function" (typeof fun2); //"undefined" (typeof fun3); //"undefined" function fun(n1,n2){ return n1+n2; } var fun2=function(n1,n2){ return n1+n2; } var fun3=new Function("n1","n2","return n1+n2;");
3.为什么函数没有重载?
这个问题要从js的语言特性来考虑。在第2条已经说了,函数名称只是指向函数对象的一个指针。根据指针的概念去理解就清楚了。
看代码示例:
function fun(n1){ return n1+100; } function fun(n1){ return n1+200; } (fun(1));// 201 //以上写法在解析后应为 var fun=function(n1){ return n1+100; } fun=function(n1){ return n1+200; } // fun 的引用被覆盖了 (fun(1));// 201
今天就写到这,都是写基本概念,希望对这块有盲点的起到帮助!有什么需要指正的地方,希望各位霸气留言指正。
高中英语作文:My approach to difficulties in learning
关于JavaScript中的类Class详细介绍
JavaScript中创建字典对象(dictionary)的实例
JavaScript instanceof 的使用方法有哪些
Chinas Liu to seek injury advice in US soon英语作文
JavaScript如何实现JSON.stringify
有关JavaScript中的prototype.bind()方法介绍
java如何利用java.net.URLConnection发送HTTP请求
,javascript break和continue区别
JavaScript中push(),join() 函数实例详解
初一英语Unit 12 My favorite subject is science 课后练习题答
万恶的function在javascript中的运用实例分析
托福英语写作范文:Examinations exert a pernicious influence on educat
九年级《unit 6 I like music that I can dance to. Period2》评课稿
A Letter to Univsity Pesident about the Canteen Service on C
银行面试自我介绍各种角度及类型详解
Food and place of interest in Beijing初中英语作文
The Impact of Information Explosion高中英语作文
JavaScript toFixed方法介绍
javascript中toString()的用法
关于javascript中encodeURI和decodeURI的使用方法
低碳生活英语写作范文:An activity about low carbon living
英语作文A cry for Nature Conservation
如何在Javascript中为String对象添加trim,ltrim,rtrim方法
java与javascript之间json格式数据互转详解
A cry for Nature Conservation英语作文
javascript中Function类型详细介绍
详细的入党自我介绍
Java中break、continue、return语句的使用区别对比介绍
六年级英语上册Unit2 New York is in the east of America说课稿
My Winter Vacation Plans初中英语作文
初中英语作文:Jim Lambert’s vacation plans
英语美文阅读:Kerry: Anti-IS Coalition Could Contribute to B
Myfavoritesubjectisscience教案
A Visittothe Fragrant Mount初中英语作文
JavaScript在Android的WebView中parseInt函数转换不正确
JavaScript Scoping Hoisting解析
javascript中String对象的slice()方法
王勃详细介绍
JavaScript中null和undefined的异同