千家信息网

JS函数表达式的基本概念

发表于:2025-01-19 作者:千家信息网编辑
千家信息网最后更新 2025年01月19日,本篇内容主要讲解"JS函数表达式的基本概念",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"JS函数表达式的基本概念"吧!函数表达式的基本概念name属性和函
千家信息网最后更新 2025年01月19日JS函数表达式的基本概念

本篇内容主要讲解"JS函数表达式的基本概念",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"JS函数表达式的基本概念"吧!

函数表达式的基本概念
name属性和函数提升

首先,name属性,通过这个属性可以访问到给函数指定的名字。(非标准的属性)如:

function  People(){};console.log(People.name);  //People

其次,函数声明提升,意味着可以把函数声明放在调用它的语句后面。如:

sayHi();  //调用函数function  sayHi(){  //声明函数    console.log("Hi");}  //不会报错

使用函数表达式则不可以:

sayHi();var  sayHi  =  function(){    console.log("Hi");}  //报错

创建函数的两种方式,一个是函数声明(如第一种方式);一个是函数表达式(如第二种方式)。第二种函数创建方式创建的函数叫"匿名函数"或"拉姆达函数",因为function 关键字后面没有标识符。

函数提升的常见错误

需要注意的是,作为对比,下面的两种代码中,第一个是错误的(会导致各浏览器出现不同的问题);第二个才使正确的。代码如下:

var  condition  =  true;if  (condition){    function  sayHI(){        console.log("hi")    }                                 //欢迎加入前端全栈开发交流圈一起学习交流:1007317281    sayHI();  //"hello"}else{    function  sayHI(){        console.log("hello")    }    sayHI();}

报错

var  condition  =  false;var  sayHi;if(condition){    sayHi  =  function(){        console.log("hi")    };                        //欢迎加入前端全栈开发交流圈一起学习交流:1007317281    sayHi();}else{    sayHi  =  function(){        console.log("hello")    };    sayHi();  //hello}

没有错误

var  condition  =  true;if(condition){    var  sayHi  =  function(){        console.log("hi")    };    sayHi();  //hi}else{    var  sayHi  =  function(){        console.log("hello")    };    sayHi();  //hello}

这里也不会出现问题。出现上面问题的根源就是函数提升,就是函数声明和函数表达式之间的区别所导致的。

到此,相信大家对"JS函数表达式的基本概念"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

0