一、函式宣告
1、自定義函式
function fun1()
fun2();//函式不呼叫,自己不執行
2、直接量宣告
var fun2=function()
fun2();
3、利用function關鍵字宣告
var fun3=new function("var a=10;b=20;alert(a+b)");
fun3();
二、變數宣告提公升
如果在乙個函式體內部宣告了乙個變數,不管這個變數函式外部有沒有,先執行函式內部的變數,會將變數宣告提公升到函式開始部分,但是不會賦值。
在函式體內部宣告變數,會把該宣告提公升到函式體的最頂端。但是只提公升變數宣告,不賦值。
var num=10;
fun1();
function fun1()//undefined
相當於var num=10;
fun1();
function fun1()
三、函式傳參
函式實參個數要與形參個數相同,arguments.length可以獲取函式實參的個數
1doctype html
>
2<
html
lang
="en"
>
3<
head
>
4<
meta
charset
="utf-8"
>
5<
title
>title
title
>
6<
script
>7/*
變數提公升*/8
/*window.onload=function()
15}//結果:undefined
*/16
17/*
var a=18;
18f1();
19function f1()//undefined,9
25*/
26/*
函式傳參
*/27
/*function f1(a,b)
30f1(1,2);//3
31f1(5);//nan
*/32
33/*
檢測函式引數個數匹配
*/34
function
fn(a,b)
else42}
43fn(5,
3);//2,2,8
44fn(2,
3,4)
//2,3,"對不起..."
4546
47script
>
48head
>
49<
body
>
5051
body
>
52html
>
JS變數宣告和函式宣告提公升
很多時候,在直覺上,我們都會認為js 在執行時都是自上而下一行一行執行的,但是實際上,有一種情況會導致這個假設是錯誤的。a 2 var a console.log a 按照傳統眼光,console.log a 輸出的應該是undefined,因為var a在a 2之後。但是,輸出的是2。再看第二段 ...
JS變數宣告提公升
js的變數作用域是離它最近的封閉語塊或 塊,包含他們內部的函式.在 塊中宣告會被隱式的提公升到封閉函式的頂部 1 function 6 var y 1 7 上面的 會被js解釋成下面的格式 1 function 8 有時候我們會不小心的在函式內部重新宣告了已有的變數 function text x ...
變數宣告提公升 Vs 函式宣告提公升
先看以下 1 var in window a in window console.log in window 2 var in window a in window console.log in window if a in window 3 var a var in window a in win...