久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

javascript - Js 函數(shù)聲明和函數(shù)表達(dá)式

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

問(wèn)題描述

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

return num1+num2;

};`為什么報(bào)錯(cuò),不是有變量提升嗎

問(wèn)題解答

回答1:

在我們寫js code 的時(shí)候,我們有2中寫法,一種是函數(shù)表達(dá)式,另外一種是函數(shù)聲明方式。我們需要重點(diǎn)注意的是:

只有函數(shù)聲明形式才能被提升。

1、函數(shù)聲明形式 【成功】

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

2、函數(shù)表達(dá)式方式【失敗】

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

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

回答2:

函數(shù)表達(dá)式不會(huì)提升。

看一遍《javascript高級(jí)程序設(shè)計(jì)》吧。

回答3:

聲明和表達(dá)式是不一樣的,聲明的話不光定義會(huì)提前,賦值也會(huì)提前賦好,而表達(dá)式不會(huì),舉個(gè)栗子:

a();function a(){}; //等同于var a = function(){};a();///////對(duì)于表達(dá)式有a();var a = function(){}; //等同于var a;a();a = function(){}; //簡(jiǎn)單來(lái)講就是表達(dá)式的賦值必須要等程序運(yùn)行到相關(guān)行的時(shí)候才會(huì)進(jìn)行回答4:

同樓上,你的函數(shù)創(chuàng)建方式是函數(shù)字面量形式,改成

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

就行了

標(biāo)簽: JavaScript
相關(guān)文章:
主站蜘蛛池模板: 花莲县| 东阳市| 金湖县| 峨山| 原阳县| 越西县| 神木县| 墨竹工卡县| 麦盖提县| 延长县| 隆昌县| 普兰县| 沙洋县| 青龙| 包头市| 南雄市| 洛浦县| 河南省| 梁河县| 宣化县| 石台县| 瓮安县| 陇南市| 讷河市| 繁昌县| 成都市| 隆林| 门源| 湟源县| 越西县| 德江县| 新兴县| 巫山县| 恩施市| 上虞市| 安达市| 伊吾县| 刚察县| 郓城县| 荔波县| 博客|