成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

腳本執(zhí)行方式 - 文檔加載 - 面向?yàn)g覽器編程

firim / 1100人閱讀

摘要:腳本執(zhí)行方式執(zhí)行入口標(biāo)簽函數(shù)構(gòu)造函數(shù)和函數(shù)標(biāo)簽內(nèi)的事件綁定相關(guān)的內(nèi)聯(lián)函數(shù)等其他標(biāo)簽最基本,最常用的腳本引入方式。

  

原文: http://pij.robinqu.me/Browser_Scripting/Document_Loading/ScriptExecution.html

  

源代碼: https://github.com/RobinQu/Programing-In-Javascript/blob/master/chapters/Browser_Scripting/Document_Loading/ScriptExecution.md

本文需要補(bǔ)充更多例子

本文存在批注,但該網(wǎng)站的Markdown編輯器不支持,所以無(wú)法正常展示,請(qǐng)到原文參考。

腳本執(zhí)行方式 執(zhí)行入口

script標(biāo)簽

eval函數(shù)

Function構(gòu)造函數(shù)

setTimeoutsetInterval函數(shù)

HTML標(biāo)簽內(nèi)的事件綁定相關(guān)的內(nèi)聯(lián)函數(shù)(onclick等)

其他hacks

script標(biāo)簽

最基本,最常用的腳本引入方式。例如:


盡管在HTML4和XHTML里面,要求開(kāi)發(fā)者使用type屬性來(lái)制定腳本的類型。但是主流瀏覽器都默認(rèn)認(rèn)為腳本類型是text/javascript。

在HTML5的規(guī)范內(nèi)1,script標(biāo)簽的type屬性是完全可選的。

eval函數(shù)

eval is evil

eval有訪問(wèn)本地scope的權(quán)利

var a = 1;
eval("a=2");
a === 2; // ==> true
Function構(gòu)造函數(shù)

function是“first-class citizen”2;自然有相應(yīng)的構(gòu)造函數(shù)

new Function(arg1, arg2, ..., fnStr)

Function3構(gòu)造函數(shù)本質(zhì)是創(chuàng)建一個(gè)函數(shù)對(duì)象;其創(chuàng)建的函數(shù)執(zhí)行也并不能訪問(wèn)其所在創(chuàng)建環(huán)境的閉包,只能訪問(wèn)本地作用域(local scope)和全局作用域(global scope)

Function()new Function()效果一樣

(function() {
  var a = 1;
  var func = new Function("a=2");
  func();
  a === 2; // ==> false
}());
a === 2; // ==> true

setTimeout和setInterval
setTimeout("alert("haha")", 0);

這個(gè)和eval有異曲同工之妙,對(duì)作用域的訪問(wèn)也是類似的。

另外要說(shuō)名,以上幾點(diǎn),除了script標(biāo)簽的方法之外,其他方法都在strict模式4下不可用。

HTML內(nèi)聯(lián)事件回調(diào)
Say hello

這樣如同在click事件的Target Phase運(yùn)行了一個(gè)回調(diào)。this指向目標(biāo)元素本身。

其他Hack

利用MessageChannel等新特性可以觸發(fā)一些函數(shù)的執(zhí)行5。也許Javascript的其他的角落也有不少其他執(zhí)行腳本的入口吧。

http://www.w3.org/html/wg/drafts/html/master/scripting-1.html#the-script-element??

https://developer.mozilla.org/en-US/docs/functional-javascript/First-class_citizen??

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function??

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions_and_function_scope/Strict_mode??

https://github.com/kriskowal/asap/blob/master/asap.js??

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/78130.html

相關(guān)文章

  • Script標(biāo)簽和腳本執(zhí)行順序 - 文檔加載 - 面向覽器編程

    摘要:相關(guān)腳本會(huì)立即下載并執(zhí)行。從上面兩個(gè)例子,可以充分了解到標(biāo)簽的柱塞式執(zhí)行。表示該標(biāo)簽并不柱塞,也不同步執(zhí)行。屬性帶有屬性的腳本,同樣會(huì)推遲腳本的執(zhí)行,并且不會(huì)阻止文檔解析。同時(shí),帶有的腳本彼此之間,能保證其執(zhí)行順序。 原文: http://pij.robinqu.me/Browser_Scripting/Document_Loading/ScriptTag.html 源...

    cangck_X 評(píng)論0 收藏0
  • JavaScript發(fā)展史,JavaScript組成和開(kāi)發(fā)工具介紹-樂(lè)字節(jié)

    摘要:保持與和的相似性,以便開(kāi)發(fā)人員能很快學(xué)會(huì)。年,網(wǎng)景公司的布蘭登與公司聯(lián)手開(kāi)發(fā)一個(gè)稱為的腳本語(yǔ)言。當(dāng)時(shí)微軟決定進(jìn)軍瀏覽器,發(fā)布了并搭載了一個(gè)的克隆版,叫做。在微軟進(jìn)入后,有種不同的版本同時(shí)存在以及。 一、JavaScript簡(jiǎn)介 JavaScript 是一種具有面向?qū)ο竽芰Φ?、解釋型的程序設(shè)計(jì)語(yǔ)言。更具體一點(diǎn),它是基于對(duì)象和事件驅(qū)動(dòng)并具有相對(duì)安全性的客戶端腳本語(yǔ)言。它的主要目的是,驗(yàn)證發(fā)...

    Heier 評(píng)論0 收藏0
  • 深入JavaScript高級(jí)語(yǔ)法-coderwhy大神新課 王紅元新課

    摘要:是一種輕量級(jí)的編程語(yǔ)言,可插入頁(yè)面,由瀏覽器解釋并執(zhí)行。是一種弱類型的語(yǔ)言。采用事件驅(qū)動(dòng)方式,能隨時(shí)響應(yīng)鍵盤事件鼠標(biāo)事件及瀏覽器窗口事件等,并執(zhí)行指定的操作。是相對(duì)安全的。 ??百度網(wǎng)盤??提取碼:u6C4?Javas cript是世界上最流行的腳本編程語(yǔ)言,主要用于Web開(kāi)發(fā),也可用于服務(wù)器、PC、筆記本電腦、平板電腦和...

    Crazy_Coder 評(píng)論0 收藏0
  • JavaScript 簡(jiǎn)介

    摘要:簡(jiǎn)介原文鏈接簡(jiǎn)稱是一種輕量級(jí),解釋型的編程語(yǔ)言,其函數(shù)是一等公民。標(biāo)準(zhǔn)的目標(biāo)是讓任何一種程序設(shè)計(jì)語(yǔ)言能操控使用任何一種標(biāo)記語(yǔ)言編寫出的任何一份文檔。核心規(guī)定了如何映射基于的文檔結(jié)構(gòu),以便簡(jiǎn)化對(duì)文檔的任意部分的訪問(wèn)和操作。 JavaScript 簡(jiǎn)介 原文鏈接 JavaScript ( 簡(jiǎn)稱:JS ) 是一種 輕量級(jí),解釋型 的編程語(yǔ)言,其函數(shù)是一等公民。眾所周知,它是用于網(wǎng)頁(yè)開(kāi)發(fā)的腳...

    URLOS 評(píng)論0 收藏0
  • 《JavaScript 闖關(guān)記》之簡(jiǎn)介

    摘要:瀏覽器只是實(shí)現(xiàn)的宿主環(huán)境之一,其他宿主環(huán)境包括和。年月,版發(fā)布,成為國(guó)際標(biāo)準(zhǔn)。事件定義了事件和事件處理的接口。對(duì)于已經(jīng)正式納入標(biāo)準(zhǔn)的來(lái)說(shuō),盡管各瀏覽器都實(shí)現(xiàn)了某些眾所周知的共同特性,但其他特性還是會(huì)因?yàn)g覽器而異。 JavaScript 是面向 Web 的編程語(yǔ)言,絕大多數(shù)現(xiàn)代網(wǎng)站都使用了 JavaScript,并且所有的現(xiàn)代 Web 瀏覽器(電腦,手機(jī),平板)均包含了 JavaScri...

    baihe 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<