久久久久无码精品,四川省少妇一级毛片,老老熟妇xxxxhd,人妻无码少妇一区二区

JavaScript中Function函數(shù)

時(shí)間:2024-08-08 01:00:02 JavaScript 我要投稿
  • 相關(guān)推薦

JavaScript中Function函數(shù)

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

  今天我們來(lái)嘗試?yán)斫釬unction和Object.因?yàn)檫@個(gè)里面有些人前期可能會(huì)搞糊涂.他們之間到底是什么關(guān)系.當(dāng)然也不除外當(dāng)初的我.

  注意:官方定義: 在Javascript中,每一個(gè)函數(shù)實(shí)際上都是一個(gè)函數(shù)對(duì)象.

  我們先來(lái)看最簡(jiǎn)單的兩個(gè)代碼,也是最容易理解的.

  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

  前面兩個(gè)打印的效果,大家都容易理解.后面 fn instanceof Object 是為true.這里也是一樣,從函數(shù)的定義來(lái)說(shuō): 在javascript中一切函數(shù)實(shí)際都是函數(shù)對(duì)象. 所以為true就不奇怪了.obj instanceof Function 為false,當(dāng)然不奇怪了.因?yàn)樗且粋(gè)對(duì)象,不是函數(shù).

  我們?cè)賮?lái)看一個(gè)代碼

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

  代碼很簡(jiǎn)單.運(yùn)行結(jié)構(gòu)兩個(gè)都是為true,為什么呢? 第一個(gè)用函數(shù)的定義來(lái)說(shuō),(javascript中函數(shù)實(shí)際也是一個(gè)函數(shù)對(duì)象),當(dāng)然為true,那第二個(gè)呢?對(duì)象也是函數(shù)?

  Object也是函數(shù).因?yàn)镺bject的結(jié)構(gòu)是function Object(){native code}.

  這種形式,很清晰的就是聲明的一個(gè)Object函數(shù),當(dāng)然就是函數(shù)了,所以?xún)蓚(gè)都是為true.

  他們兩個(gè)Function和Object函數(shù)實(shí)現(xiàn)代碼,那當(dāng)然是不一樣了.他們是怎么實(shí)現(xiàn)的,那我們就不去詳細(xì)琢磨了,如果想琢磨的,就可以了解瀏覽器的相關(guān)知識(shí)了.

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

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

  頁(yè)面加載完成有兩種事件

  一是ready,表示文檔結(jié)構(gòu)已經(jīng)加載完成(不包含圖片等非文字媒體文件)

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

  用jQ的人很多人都是這么開(kāi)始寫(xiě)腳本的:

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

  其實(shí)這個(gè)就是jq ready()的簡(jiǎn)寫(xiě),他等價(jià)于:

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

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

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

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

  1.window.onload方法

 、艌(zhí)行時(shí)機(jī):

  在網(wǎng)頁(yè)中所有元素(包括元素的所有關(guān)聯(lián)文件)完全加載到瀏覽器后才執(zhí)行,即JavaScript 此時(shí)可以訪問(wèn)網(wǎng)頁(yè)中的所有元素。

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

  ⑵多次使用:

  JavaScript的onload事件一次只能保存對(duì)一個(gè)函數(shù)的引用,他會(huì)自動(dòng)用最后面的函數(shù)覆蓋前面的函數(shù)。

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

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

 、艌(zhí)行時(shí)機(jī):在DOM完全就緒時(shí)就可以被調(diào)用。(這并不意味著這些元素關(guān)聯(lián)的文件都已經(jīng)下載完畢)

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

 、贫啻问褂:

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

  

【JavaScript中Function函數(shù)】相關(guān)文章:

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

淺析jQuery 遍歷函數(shù)javascript08-06

Javascript函數(shù)的定義和用法分析08-15

最常用的20個(gè)javascript方法函數(shù)09-10

JavaScript日期時(shí)間格式化函數(shù)08-29

JavaScript中的with關(guān)鍵字07-24

在Java中執(zhí)行JavaScript代碼07-14

Javascript中typeof 用法歸納09-27

JavaScript中常見(jiàn)的字符串操作函數(shù)及用法07-24

有關(guān)javascript實(shí)現(xiàn)的多個(gè)層切換效果通用函數(shù)示例10-07