欧美亚洲中文,在线国自产视频,欧洲一区在线观看视频,亚洲综合中文字幕在线观看

      1. <dfn id="rfwes"></dfn>
          <object id="rfwes"></object>
        1. 站長資訊網(wǎng)
          最全最豐富的資訊網(wǎng)站

          javascript函數(shù)怎么寫

          javascript函數(shù)的寫法有:1、常規(guī)寫法,“function 函數(shù)名(){js代碼}函數(shù)名()”;2、$(function(){})寫法,“$(對象).ready(function() {js代碼});”。

          javascript函數(shù)怎么寫

          本教程操作環(huán)境:windows7系統(tǒng)、javascript1.8.5版、Dell G3電腦。

          Javascript和其他編程語言相比比較隨意,所以Javascript代碼中充滿各種奇葩的寫法,有時霧里看花,本文講一下JavaScript函數(shù)的寫法。

          在Javascript中只有對象。 變量是對象,函數(shù)也是對象。 只要你知道你的對象是什么,按照它的方式去使用就可以了。 Javascript是弱類型,對象,實例,函數(shù),方法通用的。不需要區(qū)別那么清楚。

          1. 常規(guī)寫法:

          // 函數(shù)的定義 function foo() {     alert('常規(guī)寫法'); } // 函數(shù)的調(diào)用 foo()

          這種寫法是大家最熟悉,最易于理解的寫法和調(diào)用方法,接著往下看

          2. 匿名函數(shù)寫法

          // 函數(shù)的定義 var foo = function(){     alert('匿名函數(shù)定義'); } // 函數(shù)的調(diào)用 foo()

          這里把功能定義弄成了匿名,省去了命名的痛苦,同時賦給了一個變量,變量就成了功能的代名詞,接著看

          3. 將方法作為一個對象

          // 定義 var test = {     fun1: function(){  },     fun2: function(){  } } // 調(diào)用 test.fun1(); test.fun2();

          在Javascript中變量功能很強(qiáng)大,可以代表很多東西。

          4. 構(gòu)造函數(shù)中給對象添加方法

          // 給對象添加方法 var fun = function(){ };  // 定義函數(shù)對象 fun.prototype.test = function(){      alert('這是在在foo函數(shù)上的原始對象上添加test方法,構(gòu)造函數(shù)中用到'); }  // 調(diào)用 var myfun = new fun(); // 創(chuàng)建對象 myfun.test(); // 調(diào)用對象屬性

          通過prototype關(guān)鍵字添加方法。

          5. 自執(zhí)行函數(shù) ( function(){…} )() 和( function(){…} () )

          前面講的函數(shù)定義和調(diào)用時分開的,這里馬上講的定義和執(zhí)行是一起進(jìn)行的。

          ( function(){…} )() 和( function(){…} () ) 是 兩種javascript立即執(zhí)行函數(shù)的常見寫法,最初我以為是一個括號包裹匿名函數(shù),再在后面加個括號調(diào)用函數(shù),最后達(dá)到函數(shù)定義后立即執(zhí)行的目的,后來發(fā)現(xiàn)加括號的原因并非如此。要理解立即執(zhí)行函數(shù),需要先理解一些函數(shù)的基本概念。

          函數(shù)聲明、函數(shù)表達(dá)式、匿名函數(shù)

          函數(shù)聲明:function fnName () {…};使用function關(guān)鍵字聲明一個函數(shù),再指定一個函數(shù)名,叫函數(shù)聲明。

          函數(shù)表達(dá)式 var fnName = function () {…};使用function關(guān)鍵字聲明一個函數(shù),但未給函數(shù)命名,最后將匿名函數(shù)賦予一個變量,叫函數(shù)表達(dá)式,這是最常見的函數(shù)表達(dá)式語法形式。

          匿名函數(shù):function () {}; 使用function關(guān)鍵字聲明一個函數(shù),但未給函數(shù)命名,所以叫匿名函數(shù),匿名函數(shù)屬于函數(shù)表達(dá)式,匿名函數(shù)有很多作用,賦予一個變量則創(chuàng)建函數(shù),賦予一個事件則成為事件處理程序或創(chuàng)建閉包等等。

          函數(shù)聲明和函數(shù)表達(dá)式不同之處在于

          一、Javascript引擎在解析javascript代碼時會‘函數(shù)聲明提升’(Function declaration Hoisting)當(dāng)前執(zhí)行環(huán)境(作用域)上的函數(shù)聲明,而函數(shù)表達(dá)式必須等到Javascirtp引擎執(zhí)行到它所在行時,才會從上而下一行一行地解析函數(shù)表達(dá)式,

          二、函數(shù)表達(dá)式后面可以加括號立即調(diào)用該函數(shù),函數(shù)聲明不可以,只能以fnName()形式調(diào)用 。以下是兩者差別的兩個例子。

          // 方式1: ( function(){…} () ) (      function(){alert('hello world, I am coming');}() ); // 函數(shù)有參數(shù)的情況,有時為確保執(zhí)行,前面加; // 看到別人的插件,你會發(fā)現(xiàn)人家開頭處加了一個";",這樣就算頁面js有錯誤,加載運行他的插件也能保證運行,如: ;(function(e){alert(e);}('hello world'));  // 方式2:( function(){…} )() (function(){alert('hello');})();  // 有時在前面加運算符,常見的是!與void !function(){alert('hello');}(); void function(){alert(2);}();

          6 $(function(){})寫法

          $ (function(){/…/});是 $(document).ready(function(){/…/})的簡寫形式,是在DOM加載完成后執(zhí)行的回調(diào)函數(shù),并且只會執(zhí)行一次。

          $( document ).ready(function() {    console.log( "ready!" ); });

          與如下寫法等價

          $(function() {    console.log( "ready!" ); });

          在一個頁面中不同的js中寫的$(function(){/…/});函數(shù),會根據(jù)js的排列順序依次執(zhí)行。

          【推薦學(xué)習(xí):javascript高級教程】

          贊(0)
          分享到: 更多 (0)
          網(wǎng)站地圖   滬ICP備18035694號-2    滬公網(wǎng)安備31011702889846號