js 函数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js 函数相关的知识,希望对你有一定的参考价值。

一·函数的相关属性

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 函数的主要内容,如果未能解决你的问题,请参考以下文章

js 函数改写 改成带参数的函数

js中的函数

js参数是一个函数怎么做?

如何在js函数中调用另外一个函数

js函数

(js)使用new对函数进行构造调用