资讯专栏INFORMATION COLUMN

脚本执行方式 - 文档加载 - 面向浏览器编程

firim / 966人阅读

摘要:脚本执行方式执行入口标签函数构造函数和函数标签内的事件绑定相关的內联函数等其他标签最基本,最常用的脚本引入方式。

  

原文: 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

本文需要补充更多例子

本文存在批注,但该网站的Markdown编辑器不支持,所以无法正常展示,请到原文参考。

脚本执行方式 执行入口

script标签

eval函数

Function构造函数

setTimeoutsetInterval函数

HTML标签内的事件绑定相关的內联函数(onclick等)

其他hacks

script标签

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


尽管在HTML4和XHTML里面,要求开发者使用type属性来制定脚本的类型。但是主流浏览器都默认认为脚本类型是text/javascript

在HTML5的规范内1script标签的type属性是完全可选的。

eval函数

eval is evil

eval有访问本地scope的权利

var a = 1;
eval("a=2");
a === 2; // ==> true
Function构造函数

function是“first-class citizen”2;自然有相应的构造函数

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

Function3构造函数本质是创建一个函数对象;其创建的函数执行也并不能访问其所在创建环境的闭包,只能访问本地作用域(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);

这个和eval有异曲同工之妙,对作用域的访问也是类似的。

另外要说名,以上几点,除了script标签的方法之外,其他方法都在strict模式4下不可用。

HTML內联事件回调
Say hello

这样如同在click事件的Target Phase运行了一个回调。this指向目标元素本身。

其他Hack

利用MessageChannel等新特性可以触发一些函数的执行5。也许Javascript的其他的角落也有不少其他执行脚本的入口吧。

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 ↩

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/78130.html

相关文章

  • Script标签和脚本执行顺序 - 文档加载 - 面向览器编程

    摘要:相关脚本会立即下载并执行。从上面两个例子,可以充分了解到标签的柱塞式执行。表示该标签并不柱塞,也不同步执行。属性带有属性的脚本,同样会推迟脚本的执行,并且不会阻止文档解析。同时,带有的脚本彼此之间,能保证其执行顺序。 原文: http://pij.robinqu.me/Browser_Scripting/Document_Loading/ScriptTag.html 源...

    cangck_X 评论0 收藏0
  • JavaScript发展史,JavaScript组成和开发工具介绍-乐字节

    摘要:保持与和的相似性,以便开发人员能很快学会。年,网景公司的布兰登与公司联手开发一个称为的脚本语言。当时微软决定进军浏览器,发布了并搭载了一个的克隆版,叫做。在微软进入后,有种不同的版本同时存在以及。 一、JavaScript简介 JavaScript 是一种具有面向对象能力的、解释型的程序设计语言。更具体一点,它是基于对象和事件驱动并具有相对安全性的客户端脚本语言。它的主要目的是,验证发...

    Heier 评论0 收藏0
  • 深入JavaScript高级语法-coderwhy大神新课 王红元新课

    摘要:是一种轻量级的编程语言,可插入页面,由浏览器解释并执行。是一种弱类型的语言。采用事件驱动方式,能随时响应键盘事件鼠标事件及浏览器窗口事件等,并执行指定的操作。是相对安全的。 ​​百度网盘​​提取码:u6C4 Javas cript是世界上最流行的脚本编程语言,主要用于Web开发,也可用于服务器、PC、笔记本电脑、平板电脑和...

    Crazy_Coder 评论0 收藏0
  • JavaScript 简介

    摘要:简介原文链接简称是一种轻量级,解释型的编程语言,其函数是一等公民。标准的目标是让任何一种程序设计语言能操控使用任何一种标记语言编写出的任何一份文档。核心规定了如何映射基于的文档结构,以便简化对文档的任意部分的访问和操作。 JavaScript 简介 原文链接 JavaScript ( 简称:JS ) 是一种 轻量级,解释型 的编程语言,其函数是一等公民。众所周知,它是用于网页开发的脚...

    URLOS 评论0 收藏0
  • 《JavaScript 闯关记》之简介

    摘要:浏览器只是实现的宿主环境之一,其他宿主环境包括和。年月,版发布,成为国际标准。事件定义了事件和事件处理的接口。对于已经正式纳入标准的来说,尽管各浏览器都实现了某些众所周知的共同特性,但其他特性还是会因浏览器而异。 JavaScript 是面向 Web 的编程语言,绝大多数现代网站都使用了 JavaScript,并且所有的现代 Web 浏览器(电脑,手机,平板)均包含了 JavaScri...

    baihe 评论0 收藏0

发表评论

0条评论

firim

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<