文档对象模型 文档对象模型文档对象模型(document object model)是一种独立于浏览器类型来表示文档的方法。它允许开发人员通过一组通用的对象、属性、方法和事件来访问文档,并通过脚本动态修改网页内容。BOM 与 DOM 的区别DOM 仅包含 Web 页面的文档,而 BOM 提供了浏览器各个领域的脚本编程访问,包括按钮、标题栏以及页面的某些部分;BOM 专用于某个浏览器。浏览器是不能标准化的,因为必须提供有竞争力的特性。因此,需要另一组属性、方法甚至对象,才能使用 JavaScript 操作他们。
JavaScript 计时器 计时器JavaScript 可以创建两类计时器,一种是一次性计时器,另一种是间隔触发的计时器。一次性计时器创建计时器setTimeout(myFunction, millisecondsDelay) 方法用来创建一次性计时器,其中参数 myFunction 是要触发的方法脚本,而mullisecondsDelay 是等待的毫秒数,这个方法能够返回一个 timerId,timerId 是该计时器的唯一标识。清除计时器clearTimeout(timerId) 方法可以清除一次性计时器,参数
HTML 表单 HTML 表单 from 表单通常用于容纳可交互的 HTML 元素,并对其进行分组。访问表单可以通过两种方式:通过名称来访问document.myForm通过 document 的 forms[] 属性来访问 HTML 表单控件通常用于表单当中,每一个控件对应于一个对象,这些对象被放在 Form 对象的 elements[] 属性中 ,该数组的 属性 length 表示当前表单所包含的控件数量,此外 Form 对象也有一个 length 属性,含义与 elements[] 数组的
浏览器对象模型 浏览器对象模型 Browser Object Model 浏览器对象模型是浏览器为 js 提供的对象的集合,这些对象不需要显式的创建,可以被直接使用。 例如常用的 window 对象表示的是浏览器的窗体,prompt() 方法和 alert() 方法都是 window 对象的方法;常用的 document 对象是加载在浏览器中的页面,write() 方法是 document 的方法。window 对象所包含的对象属性window 对象 window 对象可以认为是浏览器本身,是一个全局对象
VSCode同步配置插件:Settings Sync 说明 简介Settings Sync 是 VSCode 的一个插件,能够同步配置环境,能够适用于以下场景:个人多台工作设备的配置同步,比如当你在公司电脑上配置了 VScode,并且进行了配置同步,如果想要在家中的电脑也进行相同的工作,只需要将配置下载到家里的电脑即可,避免了大量的重复工作。一个团队在进行开发时,为了保持开发环境一致,需要团队成员对 VSCode 进行同样的配置,使用同步配置共享,可以方便快捷的实现配置一致的需求。安装与使用安装在打开 VSCode 编辑器,在 *Extension
JavaScript基础:克隆、数组 对象克隆判断是不是原始值判断是数组还是对象建立相应的数组或对象按照同样的模式拷贝相应的数组和对象// 深拷贝:将对象obj拷贝到obj1var obj = { name : 'aaa', age : 123, gender : 'male', car : ['visa', 'master'], wife : { name : "bbb", son : { name : 'ccc'
JavaScript基础:继承模式、命名空间、对象枚举、this 继承传统形式:原型链过多的继承了很多没用的属性借用构造函数不能继承借用构造函数的原型每次构造函数都要多走一个函数共享原型Father.prototype.name = "wang";function Father() {}function Son() {}function inherit(Target, Origin) { Target.prototype = Origin.prototype;}inherit(Son, Father);Son.protot
JavaScript基础:原型、原型链 原型原型是fucntion对象的一个属性,它定义了构造函数制造出的对象的公共祖先。通过该构造函数产生的对象,可以继承该原型的属性和方法。原型也是对象。// Person.prototype 原型// Person.prototype = {} 是祖先Person.prototype.name = "www"; // 属性// 方法Person.prototype.say = function () { console.log("hhh");}function Person(nam
JavaScript基础:对象、包装类 对象示例:var Amanda = { name: "Amanda", age : 25, health : 100, playTennis : function() { console.log("Playing tennis"); this.health++; }, drink : function() { console.log("drinking"); this.health--;
JavaScript基础:立即执行函数、闭包 闭包当内部函数被保存到外部时,将会生成闭包。闭包会导致原有作用域链不释放,造成内存泄漏。闭包的作用实现公有变量函数累加器// 模块化的累加器function a(){ var num = 100; function b() { num ++; console.log(num); } return b;}var demo = a();demo(); // 101demo(); // 102可以做缓存(存储结
JavaScript基础:作用域 作用域、作用域链[[scope]]:每个JavaScript函数都是一个对象,对象中有些属性我们可以访问,但有些不可以,这些属性仅供JavaScript引擎存取,[[scope]]就是其中一个。[[scope]]指的就是我们所说的作用域,其中存储了运行期上下文的集合。作用域链:[[scope]]中所存储的执行器上下文对象的集合,这个集合呈链式链接,我们把这种连是连接叫做作用域链。示例:function a(){ function b(){ var bb = 23
JavaScript基础:预编译 闭包预编译JavaScript是单线程+解释型语言// 预编译:输出a// 函数声明整体提升test();function test(){ console.log('a');}// 预编译:输出undefined// 变量声明提升console.log(a);var a = "123";imply global暗示全局变量:即任何变量,如果有变量未声明就赋值,此变量就为全局对象所有。全局对象是window,可以添加属性。例如:a = 123; // windo
JavaScript基础:函数 函数函数声明基本function theFirstName(){}theFirstName的name属性为theFirstName2. 命名函数表达式var test = function abc(){ console.log('a');表达式默认忽略函数名,即使定义了函数名也会默认为匿名表达式;test的name属性为abc匿名函数表达式:函数表达式var test = function { console.log('a');}test的name属性为test组
JavaScript基础:类型转换 显示类型转换Number(mix)布尔值可被转化成数字;null可被转化成数字0;undefined 不可被转化成数字,显示为NaN;其他不可被转的数据均显示为NaN。parseInt(string,radix)parseFloat(string)toString(radix)String(mix)Boolean隐式类型转换...
JavaScript基础:逻辑运算、条件、循环 逻辑运算符&& :遇假则停首先判断符号左侧的表达式:(1)如果结果为真,则返回运算符右侧的表达式的结果;(2)如果结果为假,返回运算符左侧的表达式的结果。短路语句:替代条件判断// 如果data有值,则传参data && fun(data);||:遇真则停与&&相反调整浏览器兼容问题// 非IE浏览器中e,IE浏览器中为window.eventdiv.onclick = function(e){ var event = e ||
JavaScript基础一:引入、变量、值类型、运算符 js引入页面级js页面中添加js,可以写在文档中的任何位置<script type="text/javascript"> document.write('hello world');</script>引入外部js文件推荐外部文件的形式,使其符合web标准:结构、样式、行为相分离<script type="text/javascript" src="demo.js"></script>// demo.jsdocument.writ
JavaScript基础——历史 浏览器组成shell内核渲染引擎(语法规则和渲染)js引擎其他模块主流浏览器及其内核:IE:tridentChrome:webkit/blinkFireFox:GeckoOpera:prestoSafari:webkit编译和解释语言的区别编译性语言:通篇翻译,生成可执行文件优点:快不足:移植性不好(不跨平台)解释性语言:翻一行,解释一行优点:跨平台不足:略慢JavaScript解释性语言引擎是单线程ECMA标准执行队列:轮转时间片JS三大部分E