色综合图-色综合图片-色综合图片二区150p-色综合图区-玖玖国产精品视频-玖玖香蕉视频

您的位置:首頁技術文章
文章詳情頁

javascript - Js 函數聲明和函數表達式

瀏覽:115日期:2023-03-07 11:20:45

問題描述

`alert(sum(10,10));var sum=function(num1,num2){

return num1+num2;

};`為什么報錯,不是有變量提升嗎

問題解答

回答1:

在我們寫js code 的時候,我們有2中寫法,一種是函數表達式,另外一種是函數聲明方式。我們需要重點注意的是:

只有函數聲明形式才能被提升。

1、函數聲明形式 【成功】

function myTest(){ foo(); function foo(){ alert('我來自 foo'); } } myTest();

2、函數表達式方式【失敗】

function myTest(){ foo(); var foo =function foo(){ // 看這里alert('我來自 foo'); } } myTest();

看我這篇: http://www.jianshu.com/p/85a2...

回答2:

函數表達式不會提升。

看一遍《javascript高級程序設計》吧。

回答3:

聲明和表達式是不一樣的,聲明的話不光定義會提前,賦值也會提前賦好,而表達式不會,舉個栗子:

a();function a(){}; //等同于var a = function(){};a();///////對于表達式有a();var a = function(){}; //等同于var a;a();a = function(){}; //簡單來講就是表達式的賦值必須要等程序運行到相關行的時候才會進行回答4:

同樓上,你的函數創建方式是函數字面量形式,改成

alert(sum(10,10));function sum(num1,num2){ return num1+num2;}

就行了

標簽: JavaScript
相關文章:
主站蜘蛛池模板: 欧美日韩精品一区二区另类 | 国产精品毛片在线大全 | 中文字幕播放 | 国产亚洲精品国产 | 午夜不卡在线 | 国产成人精品久久一区二区小说 | ccav在线永久免费看 | 国产精品aⅴ | 国产一区二区免费不卡在线播放 | 成人a毛片久久免费播放 | 99在线精品视频 | 国产波多野结衣中文在线播放 | 国产伦子伦视频免费 | 精品久久久久久乐 | 成年片免费网址网站 | 在线视频一区二区三区四区 | 久久久久在线视频 | 亚洲精品一区二区三区五区 | 日韩 综合 | 久久久久久91 | 青草九九| 精品无码三级在线观看视频 | 91久久网 | 黄网在线| 一色屋色费精品视频在线观看 | 久久a 热6| 在线观看香蕉免费啪在线观看 | 久久高清影院 | 亚洲欧美精品一区天堂久久 | 三级黄色片网站 | 亚洲成人福利 | 国产91精选在线观看网站 | 欧美三级真做在线观看 | 欧美亚洲一区 | 无套内谢孕妇毛片免费看 | 激情性爽三级成人 | 成人毛片全部免费观看 | 欧美日韩在线观看一区 | 暖暖免费高清日本一区二区三区 | 亚洲伊人成人 | 欧美一区二区在线观看视频 |