异形孵化之函数

来源:互联网 发布:云计算和大数据区别 编辑:程序博客网 时间:2024/04/27 16:46

JavaScript运行需要什么

我们简单来理解一下,需要宿主。JS的标准是由ECMA来制定的,所以叫ECMAScript。但是运行呢?总不能在空气中运行吧,所以只要弄个解释器在以下这些玩意儿上,都能运行。

浏览器、操作系统、硬件、其他(这些统称宿主)
ObjectFunctionArrayStringBooleanNumberDateRegExpError...(这些对象可以理解为JS原生对象,独立于宿主的)
documentwindow、xmlhttprequest宿主对象(以浏览器为例)

JavaScript中吊炸天的Function

Function是JS中原生对象之一,也是JS中最牛逼的对象。
这说明本身就有对象叫做Function,我们通常写的所谓的“函数”都是一种Function对象不同形式

var me = Function("a","b","return a+b");console.log(me(1,2));   //打印:3

一般不用这种方式,虽然它是最原始、最完整的方式。

我们常用的方式:函数声明function me(a,b){  return a+b;}这种方式叫做函数声明,注意不是匿名函数。

匿名函数:

var me = function(){  return "hello";}

还有一种很特殊的递归函数(了解):

var i = 0;var me = function mm(){ //注意,这个mm()只能在函数内部递归调用  i++;  console.log(i);  if(i<5){    mm()  }}//调用meme();

ES2015的箭头函数:函数表达式

它是一个简写形式的“函数表达式”,但不仅仅是,比如它没有constructor方法,也没有prototype,不支持new操作,修复了this的指向。

var me = (参数1=默认值,参数2)=>{  xxoo}// 如果只有一个参数,圆括号可以不写// var me=参数1=>{xxoo}

写成匿名函数:

(age=>{    console.log("我的年龄是"+age)})(18);
0 0
原创粉丝点击