异形孵化之函数

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()
  }
}
//调用me
me();

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

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

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

写成匿名函数:

(age=>{
    console.log("我的年龄是"+age)
})(18);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值