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