码迷,mamicode.com
首页 > Web开发 > 详细

js 函数

时间:2017-11-12 23:04:46      阅读:231      评论:0      收藏:0      [点我收藏+]

标签:方式   call   就是   执行函数   函数   nod   表达   数组   es6   

一·函数的相关属性

1.name属性      表示函数的函数名。

2.length属性    表示形参的个数。

注意:length 和 arguments的区别

length是指形参的个数。

arguments:伪数组对象,存放实参的个数

3.caller属性

表示函数的调用者,换句话说,谁调用了我,就指向谁,如果在全局变量中调用,浏览器显示值和node里面是不一样的,浏览器里面显示null,node里面是一个function

4.callee

不是函数的对属性,而是arguments对象的属性,该属性是一个指针,指向拥有这个arguments对象的函数。

使用callee降低了函数和函数名的关联。

二.函数的声明方式

1.普通声明方式

function   函数名(){

  //函数体

}

函数名()//调用函数

通过这种方式,创建的函数有一个特点,就是会函数提升,会将函数提到最上面。在js里,函数是一等公民,在提升的时候。同样是提升,函数会提升在变量提升之前。

2.函数表达式

所谓函数表达式,就是将函数赋值给变量,这种方式不存在函数提升

let test=function(){

  函数体

}

test();

3.命名式函数表达式

就是将一个有函数名的函数赋值给一个变量

let test=function test1(){

  函数体

}

test();

注意:test()不能调用函数,会报错,只能通过被赋值的变量名进行调用

4.立即执行函数表达式

就是不用函数调用,也会立即执行,这种函数也称之为IIFE

(function(a,b){

  函数体

})(1,2);

5.通过对象产生函数

首先这种方式不推荐,效率低

let test=new Function("a","b","return  a+b");

let result=test(1,3);

console.log(result);

6.箭头函数,ES6新增的

let test=(a,b)=>{

  consloe.log(a+b);

}

test(1,3);

js 函数

标签:方式   call   就是   执行函数   函数   nod   表达   数组   es6   

原文地址:http://www.cnblogs.com/AndHowAreYou/p/7823305.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!