十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
本篇内容主要讲解“JS函数表达式的基本概念”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“JS函数表达式的基本概念”吧!
10年积累的成都网站制作、网站建设经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先网站策划后付款的网站建设流程,更有沂水免费网站建设让你可以放心的选择与我们合作。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函数表达式的基本概念”有了更深的了解,不妨来实际操作一番吧!这里是创新互联网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。