欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

JavaScript函數(shù)定義的常見(jiàn)注意事項(xiàng)小結(jié)

 更新時(shí)間:2014年09月16日 10:05:33   投稿:shichen2014  
這篇文章主要介紹了JavaScript函數(shù)定義的常見(jiàn)注意事項(xiàng),包含了常見(jiàn)的錯(cuò)誤及注意事項(xiàng),需要的朋友可以參考下

本文就javascript函數(shù)定義的常見(jiàn)問(wèn)題進(jìn)行了總結(jié)。包含了初學(xué)者常犯的錯(cuò)誤。分享給大家供大家參考。具體總結(jié)如下:

1. 函數(shù)聲明的同時(shí)JS引擎還定義了一個(gè)與函數(shù)名同名的變量,我們?cè)谡{(diào)用這個(gè)函數(shù)的時(shí)候?qū)嶋H上是在使用這個(gè)變量,且它可以在函數(shù)聲明之前調(diào)用,例如

foo(); //這里實(shí)際上是使用了一函數(shù)變量 
function foo() { 
  alert('hello'); 
} 

2. 函數(shù)表達(dá)式,此時(shí)將匿名函數(shù)賦值給了一變量,此變量需在定義后使用,例如

foo(); //報(bào)錯(cuò),未定義 
var foo = function() { 
  alert('hello'); 
} 

3. 函數(shù)表達(dá)式(with函數(shù)名),這種用法最好避免,此時(shí)非IE瀏覽器中該函數(shù)名只在內(nèi)部可用,例如

bar(5); //報(bào)錯(cuò),未定義 
var bar = function foo(n) { 
  if (n == 1) 
    return 1; 
  else 
    return n * foo(n - 1); 
} 
foo(5); //非IE報(bào)錯(cuò),未定義 
bar(5); //正確 

4. 用Function構(gòu)造函數(shù)定義,這種方式效率低,每次執(zhí)行函數(shù)的時(shí)候,其函數(shù)體都會(huì)被解析一次。此外這樣聲明的函數(shù)是不會(huì)繼承當(dāng)前聲明位置的作用域,它默認(rèn)只會(huì)擁有全局作用域,例如

function foo() { 
  var bar = 'hello'; 
  return Function('alert(bar)'); //報(bào)錯(cuò),全局變量bar未定義 
} 
foo()();

相信本文所述對(duì)大家javascript WEB程序設(shè)計(jì)的學(xué)習(xí)有一定的借鑒價(jià)值。

相關(guān)文章

最新評(píng)論