js中Function 类型有哪些
最有意思的函数
有意思的根源在于- 函数也是对象,同样有拥有属性和方法。 由于函数是是对象,那么函数名也就相当于指向函数对象的指针 通常函数是由"函数声明"创建:
1 function(sum1,sum2){ 2 reutnr sum1 + sum2; 3 }
也可以使用"函数表达式"创建:
1 var sum = function(sum1,sum2){ 2 return sum1+sum2; 3 };
还有一种方式使用"构造函数"创建: (但不推荐)
<span style="font-family: "Microsoft YaHei"; font-size: 16px"> //这种方式,会导致两次解析代码,第一次解析常规的代码,第二次解析传入构造函数中的字符串。</span><br/><span style="font-family: "Microsoft YaHei"; font-size: 16px">1 <span style="color: #0000ff">var</span> sum = <span style="color: #0000ff">new</span> Function("sum1","sum2","return sum1+sum2")</span>
"函数声明"与"函数表达式"的区别在于:
函数表达式没有函数名
函数表达式需要分号结尾
拥有多个函数名的函数
上面提到,函数是对象,而函数名仅仅是执行函数对象的指针。 这代表着,通过将函数名赋值给其他变量,其他变量则也可以通过自身调用该函数。 注意: 访问函数对象指针时,则需要带小括号,如上面函数访问 sum 函数的指针 则需要将 sum 赋值给一个变量,该变量便可拥有指向同等函数的指针。
eg: var sum1 = sum; // sum(); sum1(); 执行的结果相同
强调: 使用 "函数名+()",代表着调用该函数, 不添加 "()",则代表访问该"指向该函数对象的指针" 将函数名设置为 null ,则可以使其指向的函数断绝联系。
eg: sum = null; // sum(); 则会报错,提示sum不是一个函数, null代表着空对象指针
函数没有重载
相同的函数名,后者会替换前者(函数声明或者函数表达式都是如此,这里以函数声明为例子)
eg: function sum(sum1){ return sum1+ 100 } function sum(sum2){ return sum2+ 200 } sum(100); // 300;
函数声明与函数表达式的区别
js解析器在对于这两者是由区别的。 函数声明的函数,在开始执行代码之前,就会通过函数声明提升的过程,读取并将函数声明添加到执行环境中。 即使函数在调用函数后面,也不会影响函数求值。 而函数表达式则不会,解析器必须执行到当前代码块才会被初始化并执行。如果调用在前,则
作为值的函数
在JS中,函数名本身就是变量。所以函数也可以作为值来使用。 也就是说,不仅仅可以作为一个函数的参数,也可以作为一个函数的返回值。 而sort() 方法只能根据 tostring() 的值来排序
eg: var data = [{name:'A',age:2},{name:'B',age:1}] // 创建指定属性的函数 function setAttr(name){ return function(o1,o2){ var v1 = o1[name]; var v2 = o2[name]; if(v1 < v2) { return -1; } else if(v1 > v2) { return 1; } else { return 0; } } } //使用sort()方法调用 data.sort(setAttr('age')); // [{name,:'B',age:'1'},{name:'A',age:'2'}] data.sort(setAttr('name')); // [{name:'A',age:'2'},{name,:'B',age:'1'}]
函数的属性
每个函数都包含两个属性: length, prototype; length : 表示函数接收的参数个数。
1 eg: funciont sum(test){} //sum.lenght == 1;
<span style="font-family: "Microsoft YaHei"; font-size: 16px"><span style="background-color: #ffffff"><strong> prototype: </strong></span>在JS中,该属性是保存所有实例方法的真正所在。 在创建自定义引用类型以及实现继承时,该属性是非常重要的。<strong><span style="background-color: #ffffff"> prototype: </span></strong>属性是不可枚举的,因此不能使用for in发现。<br/> 通过构造函数的 <strong><span style="background-color: #ffffff">prototype </span></strong>属性,创建的方法或者属性,都会被它的实例对象所继承,从而实现继承机制。<br/></span>
函数的方法
每个函数都包含两个非继承而来的方法: apply() 与 call(); 两者区别在于,第二个参数的不同。 该方法强大在于,可以扩充函数赖于运行的作用域。 apply(): 第一参数是在其中运行函数的作用域,另一个是参数数组。 call() : 第一参数是在其中运行函数的作用域,其他参数直接传递给函数, 也就是除第一个参数,其他都是逐个列举出来。 使用场景: 两者结果没有任何区别,而具体使用哪个,则取决于你传入的参数使用哪个方法方便。 如果传入参数是一个数组则使用 apply 更合适一点,否则 call() 更合适一点。
以上是js中Function 类型有哪些的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题

股票分析必备工具:学习PHP和JS绘制蜡烛图的步骤,需要具体代码示例随着互联网和科技的快速发展,股票交易已经成为许多投资者的重要途径之一。而股票分析是投资者决策的重要一环,其中蜡烛图被广泛应用于技术分析中。学习如何使用PHP和JS绘制蜡烛图将为投资者提供更多直观的信息,帮助他们更好地做出决策。蜡烛图是一种以蜡烛形状来展示股票价格的技术图表。它展示了股票价格的

人脸检测识别技术已经是一个比较成熟且应用广泛的技术。而目前最为广泛的互联网应用语言非JS莫属,在Web前端实现人脸检测识别相比后端的人脸识别有优势也有弱势。优势包括减少网络交互、实时识别,大大缩短了用户等待时间,提高了用户体验;弱势是:受到模型大小限制,其中准确率也有限。如何在web端使用js实现人脸检测呢?为了实现Web端人脸识别,需要熟悉相关的编程语言和技术,如JavaScript、HTML、CSS、WebRTC等。同时还需要掌握相关的计算机视觉和人工智能技术。值得注意的是,由于Web端的计

如何使用PHP和JS创建股票蜡烛图股票蜡烛图是股票市场中常见的一种技术分析图形,通过绘制股票的开盘价、收盘价、最高价和最低价等数据,帮助投资者更直观地了解股票的价格波动情况。本文将教你如何使用PHP和JS创建股票蜡烛图,并附上具体的代码示例。一、准备工作在开始之前,我们需要准备以下环境:1.一台运行PHP的服务器2.一个支持HTML5和Canvas的浏览器3

随着互联网金融的迅速发展,股票投资已经成为了越来越多人的选择。而在股票交易中,蜡烛图是一种常用的技术分析方法,它能够显示股票价格的变化趋势,帮助投资者做出更加精准的决策。本文将通过介绍PHP和JS的开发技巧,带领读者了解如何绘制股票蜡烛图,并提供具体的代码示例。一、了解股票蜡烛图在介绍如何绘制股票蜡烛图之前,我们首先需要了解一下什么是蜡烛图。蜡烛图是由日本人

随着短视频平台的盛行,视频矩阵账号营销已成为一种新兴营销方式。通过在不同平台上创建和管理多个账号,企业和个人能够实现品牌推广、粉丝增长和产品销售等目标。本文将为您探讨如何有效运用视频矩阵账号,并介绍不同类型的视频矩阵账号。一、视频矩阵账号怎么做?要想做好视频矩阵账号,需要遵循以下几个步骤:首先要明确你的视频矩阵账号的目标是什么,是为了品牌传播、粉丝增长还是产品销售。明确目标有助于制定相应的策略。2.选择平台:根据你的目标受众,选择合适的短视频平台。目前主流的短视频平台有抖音、快手、火山小视频等。

js和vue的关系:1、JS作为Web开发基石;2、Vue.js作为前端框架的崛起;3、JS与Vue的互补关系;4、JS与Vue的实践应用。

Go函数可以返回多个不同类型的值,返回值类型在函数签名中指定,并通过return语句返回。例如,函数可以返回一个整数和一个字符串:funcgetDetails()(int,string)。实战中,一个计算圆面积的函数可以返回面积和一个可选错误:funccircleArea(radiusfloat64)(float64,error)。注意事项:如果函数签名未指定类型,则返回空值;建议使用显式类型声明的return语句以提高可读性。

MySQL.proc表的作用和功能详解MySQL是一种流行的关系型数据库管理系统,开发者在使用MySQL时常常会涉及到存储过程(StoredProcedure)的创建和管理。而MySQL.proc表则是一个非常重要的系统表,它存储了数据库中所有的存储过程的相关信息,包括存储过程的名称、定义、参数等。在本文中,我们将详细解释MySQL.proc表的作用和功能
