<bdo id="xkgs2"><xmp id="xkgs2">

<bdo id="xkgs2"><progress id="xkgs2"><bdo id="xkgs2"></bdo></progress></bdo>

<nobr id="xkgs2"></nobr>

<bdo id="xkgs2"></bdo>

<menuitem id="xkgs2"><xmp id="xkgs2"><menuitem id="xkgs2"></menuitem>
<menuitem id="xkgs2"><font id="xkgs2"><samp id="xkgs2"></samp></font></menuitem><menuitem id="xkgs2"><xmp id="xkgs2"><menuitem id="xkgs2"><xmp id="xkgs2">

<bdo id="xkgs2"><xmp id="xkgs2">

<menuitem id="xkgs2"><xmp id="xkgs2">

<bdo id="xkgs2"></bdo>
<menuitem id="xkgs2"><xmp id="xkgs2"><samp id="xkgs2"></samp>

<b id="xkgs2"><ins id="xkgs2"><samp id="xkgs2"></samp></ins></b>

新疆軟件開發

本站首頁 軟件開發 成功案例 公司新聞 公司簡介 客服中心 軟件技術 網站建設
  您現在的位置: 新疆二域軟件開發公司 >> Java技術 >> 文章正文

javascript的function的總結

學習知識難免會忘記,關鍵是在忘記之后,下次遇到時能夠通過快捷的方法來回憶,并盡量達到忘記之前的狀態?偨Y也許是日后回憶的一種有效方法,前些日子看了javascript的function,總結如下:

學習function重要的就是明白當程序運行到函數聲明的時候,并不執行該函數,當其他函數調用所聲明的函數時,該函數才被執行,也就是英文說的function is complied,but not executed until you call it.

再有就是函數在聲明時創建變量。例如function(){}就創建了一個變量,雖然這個變量是匿名的。

js 代碼
var a=function(){};   
  
var a=function(x,y){}(1,2);   
第一條語句是定義一個匿名function,并將該函數賦給a變量。第二條語句是定義一個匿名function,并調用將該函數的返回結果賦值給a變量。

function add(a,b){};則是定義了一個function,該function的名字是add,相當于一個名為add的變量指向該function。

看看以下代碼,感覺挺有意思:

js 代碼
function myFunction(){alert("Old");};   
  
var savedFunction=myFunction;   
  
myFunction=function(){alert("New");};   
  
myFunction();   //prints"New"   
  
savedFunction(); //prints"Old"   
在調用myFuction函數的時候,打印出New字符串,代碼的第二行明確指出savedFunction=myFunction,但是在調用savedFunction的時候會出現Old字符串,這種情況應該引起java同行的注意,在javascript中,指針指向的是代碼片段,執行第二行的時候,savedFucntion指向的是myFuction所指向的代碼片段 myFunction code(第一行),然而在第三行myFunction指針由先前的代碼片段myFunction code改變為代碼片段function(){alert("New")} code的時候,先前的代碼片段仍然未消失,被savedFunction所指向,這也就解釋了為什么最后程序打印出的字符串仍是Old。

對于Function關鍵字來說僅在特殊情況下用到,一般就用function,這里就不再介紹了。

prototype屬性對于初學js的人來說比較迷惑,這里大致的總結如下:

一般的變量沒有prototype屬性,constructor function有prototype屬性,也就是聲明的function(){}變量,js中的每個對象都有一個_proto_和constructor屬性,如果一個對象由constructor function生成,例如:

js 代碼
function Ball(message){   
  
alert(message);   
  
};   
  
var ball0=new Ball("executing");   
解釋以下,最后一行代碼等同于:

js 代碼
var ball0=new Object();   
  
ball0.construct=Ball;//將屬性construct指向代碼片段Ball code   
  
ball0.construct("executing"); //執行該代碼片段   
接著說,如果一個對象由constructor function生成,則該對象ball0的_proto_屬性指向它的構造函數的prototype屬性,也就是指向constructor function(這里是前三行代碼)所具有的prototype屬性,因此凡是用該constructor function生成的對象,都帶有該function的prototype屬性。

 

作者:未知 | 文章來源:博客園 | 更新時間:2007-10-30 10:33:01

  • 上一篇文章:

  • 下一篇文章:

  • 相關文章:
    搜集整理的javascript select操作的例子
    javascript中createTextRange如何使用
    如何使用JavaScript判斷瀏覽器類型代碼
    看看javascript是如何繪圖的
    如何在JavaScript實現彈出層效果
    JAVASCRIPT如何判斷大小寫字母
    J2EE開發中的錯誤處理
    Javascript訪問html頁面的控件
    delphi使用技藝大全
    軟件技術
    · 開發語言
    · Java技術
    · .Net技術
    · 數據庫開發
    最新文章  
    ·j2se 嵌入式腳本抓取引擎
    ·JAVA開發的6個實踐的例子
    ·JBuilder7 / Weblogic7開發
    ·JAVA中的抽象類型的一些概
    ·java語言開發程序中的幾個
    ·了解java開發語言在軟件開
    ·如何才能使用Java實現內部
    ·Java開發學習小心使用Date
    ·Java程序員應該了解那些開
    ·java性能優化的一些見解
    ·介紹JDK5.0一些collection
    ·基礎學習:java中使用存儲
    ·解析c#語言和java語言最相
    ·Java語言學習:jAVA中 的多
    ·Java是不是應該增加新特性
    關于我們 | 軟件開發 | 下載試用 | 客服中心 | 聯系我們 | 友情鏈接 | 網站地圖 | 新疆電子地圖 | RSS訂閱
    版權所有 © 2016 新疆二域軟件開發網 www.asuburbanlife.com All Rights Reserved 新ICP備14003571號
    新疆軟件開發總機:0991-4842803、4811639.
    客服QQ:596589785 ;地址:新疆烏魯木齊北京中路華聯大廈A-5C 郵編:830000
     
    亚洲伊人成综合人影院小说,亚洲永久无码浪潮,思思99re8这里有精品热视频
    <bdo id="xkgs2"><xmp id="xkgs2">

    <bdo id="xkgs2"><progress id="xkgs2"><bdo id="xkgs2"></bdo></progress></bdo>

    <nobr id="xkgs2"></nobr>

    <bdo id="xkgs2"></bdo>

    <menuitem id="xkgs2"><xmp id="xkgs2"><menuitem id="xkgs2"></menuitem>
    <menuitem id="xkgs2"><font id="xkgs2"><samp id="xkgs2"></samp></font></menuitem><menuitem id="xkgs2"><xmp id="xkgs2"><menuitem id="xkgs2"><xmp id="xkgs2">

    <bdo id="xkgs2"><xmp id="xkgs2">

    <menuitem id="xkgs2"><xmp id="xkgs2">

    <bdo id="xkgs2"></bdo>
    <menuitem id="xkgs2"><xmp id="xkgs2"><samp id="xkgs2"></samp>

    <b id="xkgs2"><ins id="xkgs2"><samp id="xkgs2"></samp></ins></b>