JavaScript高级编程

以下是为您整理出来关于【JavaScript高级编程】合集内容,如果觉得还不错,请帮忙转发推荐。

【JavaScript高级编程】技术教程文章

Javascript高级编程学习笔记(1)【图】

此系列文章,用于记录所学,如有错误欢迎指出。 Javascript组成 1.核心(ECMAScript) 2.文档对象模型(DOM) 3.浏览器对象模型(BOM) 1.核心(ECMAScript) ECMAScript说白了是定义Javascript的标准,而这种标准与浏览器并无依赖关系。 我们现在前端所使用的Javascript只是遵循这一标准的,以浏览器为宿主平台的脚本语言。 遵循这一标准的脚本语言都可以称之为js。 而js的宿主平台除了我们最常用的浏览器平台之外,还有node,和...

Javascript高级编程学习笔记(9)—— 执行环境

今天主要讲一下,JS底层的一些东西,这些东西不太好举例(应该是我水平不够) 望大家多多海涵,比心心 执行环境 执行环境(执行上下文,全文使用执行环境 )是JS中最为重要的一个概念,执行环境决定了,变量或函数有权访问的其他数据,并决定了其各自行为。 跟执行环境直接相关的是变量对象 JS在执行环境中定义的所有变量和函数都保存在该对象上。 对于该对象,我们无法使用代码来进行访问,但是JS解析器在进行数据处理时会在后...

Javascript高级编程学习笔记(7)—— 函数【代码】【图】

前几天有事耽搁了,今天继续更新 今天的主要内容是JS中的函数 这一篇主要讲函数的定义等内容,至于变量提升、执行环境、闭包、内存回收等内容在后面讲,高玩们可以不用看下面的正文了。 函数 首先来讲,函数对于任何编程语言都是一个十分核心的概念。 Js中的函数通过function关键字来声明函数,函数用于封装任意多条语句,可以让我们用函数来来实现某一特定功能,避免编写重复的代码。 使用方法如下:function 函数名(参数){//...

Javascript高级编程学习笔记(59)—— 事件(3)事件对象【代码】

事件对象 在触发DOM‘事件时,会产生一个事件对象 event 该对象包含着所有与事件有关的信息 所有浏览器都支持 event 对象但是支持的方式有所不同 DOM事件对象 兼容DOM的浏览器会将event对象传入事件处理程序中 如下所示:var btn = document.getElementByTagName("button")[0];btn.onclick = function(event){alert(event.type); //"click" }而通过HTML特性指定的事件处理程序,变量event保存着 event 对象<input type = "button...

Javascript高级编程学习笔记(55)—— DOM2和DOM3(7)操作范围【代码】

操作范围中的内容 在创建范围时,内部会为这个范围创建一个文档片段 范围所属的全部节点都会被添加到这个片段中 虽然选取范围可以不是完整的、良好的DOM结构 但是在这个为范围创建的文档片段中,会自己完缺少的闭合标签,以此构建有效的DOM结构来方便我们操作 上述步骤都是内部实现的,因此我们可以不用过多地关注这一方面 首先是 deleteContents() 这个方法会从文档中删除选中范围的内容 以下方的HTML代码为例<p id = "p1"><b...

Javascript高级编程学习笔记(54)—— DOM2和DOM3(6)范围选择【代码】

范围 为了让开发人员更加方便地控制页面“DOM2级遍历和范围”模块定义了“范围”接口 通过该接口开发人员可以选择文档中的一个区域,而不必考虑元素的界限 在常规操作不能有效地修改文档时,使用范围往往可以达到目的 DOM中的范围 DOM2级在Document类型中定义了 createRange()方法 在兼容该接口的浏览器中,该方法属于document对象 可以使用以下代码,检测浏览器对其的兼容var supportsRange = document.implementation.hasFea...

Javascript高级编程学习笔记(51)—— DOM2和DOM3(3)操作样式表【代码】

操作样式表 在JS中样式表用一种类型来表示,以便我们在JS对其进行操作 这一类型就是CSSStyleSheet 即CSS样式表类型,包括了之前 style 对象所不包括的外部样式表以及嵌入样式表 其中<link>以HTMLLinkElement 类型表示 而<style> 以HTMLStyleELement类型表示 但是这两类样式表更加通用的类型则是继承自 StyleSheet 类型的 CSSStyleSheet 其中继承自 StyleSheet 类型的有以下属性: disabled:表示样式表是否被禁用,该属性可写 hr...

Javascript高级编程学习笔记(49)—— DOM2和DOM3(1)DOM变化

DOM变化 我们知道DOM有许多的版本,其中DOM0和DOM2这两个级别以对事件的纳入标准而为人所知 但是呢,这里不讲事件,在后面会有专门和事件有关的部分作为详细讲解 这里就只讲一下DOM2和DOM3的背景来历 首先DOM1级主要定义的是HTML和XML文档底层的结构,DOM2和DOM3两个级别则主要致力于为文档引入更加丰富的交互能力 与此同时这两个版本也支持了更加高级的XML特性 首先DOM2分为了许多模块 如下所示: 1. DOM2级核心 2.DOM2级视图 3...

Javascript高级编程学习笔记(34)—— 客户端检测(3)用户代理检测【代码】

用户代理检测 前面的文章介绍的是如何检测浏览器对某一功能的支持情况 但是在实践中我们有些时候免不了需要知道用户到底是用的什么浏览器对我们的站点进行访问 这也是统计用户行为的一部分 用户代理检测这种方式就是用于检测用户访问所使用的浏览器的 那么如何进行检测呢? 我之前的文章,讲JS的navigator对象的时候,其中有个 userAgent 属性 这个属性在每次http请求中都会携带在请求头中,这也是我们常说的用户代理字符串 但...

Javascript高级编程学习笔记(93)—— Canvas(10) 模式及图像数据【代码】

模式 模式其实就是重复的图像,用来填充或描边图形 要创建一个新模式,可以调用 createPattern()并传入两个参数一个HTML img元素 用于表示如何重复的字符串 "repeat" 重复 "repeat-x" 水平方向重复 "repeat-y" 垂直方向重复 "no-repeat" 不重复如:let image = document.images[0];let pattern = document.createPattern(image,"repeat");// 绘制矩形 context.fillStyle = pattern; context.fillRect (10,10,150,150); 需要注意的...