JavaScript中Function函數

    時間:2024-08-08 01:00:02 JavaScript 我要投稿
    • 相關推薦

    JavaScript中Function函數

      Function是javascript里最常用的一個概念,javascript里的function是最容易入手的一個功能,但它也是javascript最難理解最難掌握的一個概念。

      今天我們來嘗試理解Function和Object.因為這個里面有些人前期可能會搞糊涂.他們之間到底是什么關系.當然也不除外當初的我.

      注意:官方定義: 在Javascript中,每一個函數實際上都是一個函數對象.

      我們先來看最簡單的兩個代碼,也是最容易理解的.

      function fn(){}var obj = {}console.log(fn instanceof Function)//trueconsole.log(obj instanceof Object)//trueconsole.log(fn instanceof Object)//trueconsole.log(obj instanceof Function)//false

      前面兩個打印的效果,大家都容易理解.后面 fn instanceof Object 是為true.這里也是一樣,從函數的定義來說: 在javascript中一切函數實際都是函數對象. 所以為true就不奇怪了.obj instanceof Function 為false,當然不奇怪了.因為他是一個對象,不是函數.

      我們再來看一個代碼

      console.log(Function instanceof Object); // trueconsole.log(Object instanceof Function); // true

      代碼很簡單.運行結構兩個都是為true,為什么呢? 第一個用函數的定義來說,(javascript中函數實際也是一個函數對象),當然為true,那第二個呢?對象也是函數?

      Object也是函數.因為Object的結構是function Object(){native code}.

      這種形式,很清晰的就是聲明的一個Object函數,當然就是函數了,所以兩個都是為true.

      他們兩個Function和Object函數實現代碼,那當然是不一樣了.他們是怎么實現的,那我們就不去詳細琢磨了,如果想琢磨的,就可以了解瀏覽器的相關知識了.

      ps:$(function(){})和$(document).ready(function(){})

      document.ready和onload的區別——JavaScript文檔加載完成事件

      頁面加載完成有兩種事件

      一是ready,表示文檔結構已經加載完成(不包含圖片等非文字媒體文件)

      二是onload,指示頁面包含圖片等文件在內的所有元素都加載完成。

      用jQ的人很多人都是這么開始寫腳本的:

      $(function(){// do something});

      其實這個就是jq ready()的簡寫,他等價于:

      $(document).ready(function(){//do something})//或者下面這個方法,jQuer的默認參數是:“document”;$().ready(function(){//do something})

      這個就是jq ready()的方法就是Dom Ready,他的作用或者意義就是:在DOM加載完成后就可以可以對DOM進行操作。

      一般情況先一個頁面響應加載的順序是:域名解析-加載html-加載js和css-加載圖片等其他信息。

      那么Dom Ready應該在“加載js和css”和“加載圖片等其他信息”之間,就可以操作Dom了。

      1.window.onload方法

      ⑴執行時機:

      在網頁中所有元素(包括元素的所有關聯文件)完全加載到瀏覽器后才執行,即JavaScript 此時可以訪問網頁中的所有元素。

      window.onload=function(){ $(window).load(function(){//編寫代碼 等價于 //編寫代碼} });

      ⑵多次使用:

      JavaScript的onload事件一次只能保存對一個函數的引用,他會自動用最后面的函數覆蓋前面的函數。

      function one(){ alert("one");} function two(){ alert("two"); }window.onload=one; window.onload=two; //運行代碼后只有 two

      2.$(document).ready()方法

      ⑴執行時機:在DOM完全就緒時就可以被調用。(這并不意味著這些元素關聯的文件都已經下載完畢)

      舉個例子:$(document).ready()方法明知要DOM就緒就可以操作了,不需要等待所有圖片下載完畢。

      ⑵多次使用:

      function one(){ alert("one"); } function two(){ alert("two"); } $(document).ready(function(){ one(); }); $(document).ready(function(){ two(); }); //運行代碼后 //先是:one //先是:two

      

    【JavaScript中Function函數】相關文章:

    JavaScript中push(),join() 函數實例詳解09-05

    淺析jQuery 遍歷函數javascript08-06

    Javascript函數的定義和用法分析08-15

    最常用的20個javascript方法函數09-10

    JavaScript日期時間格式化函數08-29

    JavaScript中的with關鍵字07-24

    在Java中執行JavaScript代碼07-14

    Javascript中typeof 用法歸納09-27

    JavaScript中常見的字符串操作函數及用法07-24

    有關javascript實現的多個層切換效果通用函數示例10-07

    91久久大香伊蕉在人线_国产综合色产在线观看_欧美亚洲人成网站在线观看_亚洲第一无码精品立川理惠

      婷婷丁香五月天综合资源网 | 最新国产精品拍自在线观看 | 亚洲国产一区二区三区啪 | 午夜性刺激免费看视频在线 | 中文一区二区在线播放 | 亚洲精品熟女国产老熟女 |