JS详解(从零到一)
文章平均质量分 74
是自己在学习过程中的自我总结,为了加深印象并方便回顾,同时也为更多想学JS的小伙伴分享以下自己的心得。
梦樊哥哥
何以解忧?唯有学习!!!
展开
-
ES6语法
ECMAScript 6 是继ECMAScript 5 之后发布的JavaScript 语言的新一代标准,加入了很多新的特性和语法,该标准于2015年6月17日发布了正式版本,并被正式命名为ECMAScript 2015。Vue项目开发中经常会用到ECMAScript 6语法,因此接下来将对这一新标准中的一些特性和常用语法进行简要介绍。一、块作用域let和const块级声明用于声明在指定块的作用域之外无法访问的变量。块级作用域存在于:(1)函数内部(2)块中(也就是“{”和“}”之间的区域)原创 2022-02-28 16:58:46 · 802 阅读 · 0 评论 -
JS面向对象
目录一、构造函数二、对象成员2.1、实例成员2.2、静态成员三、instanceof四、constructor五、原型对象5.1、原型关系5.2、原型属性5.3、原型链5.4、原型总结六、对象创建6.1、对象字面量创建6.1.1、new构造函数创建6.1.2、字面量创建6.1.3、create创建6.2、工厂模式6.3、构造函数模式6.4 构造函数拓展模式6.5 寄生构造函数模式6.6、稳妥构造函数模式6.7、原型模式原创 2022-02-27 21:13:23 · 990 阅读 · 0 评论 -
JS深入理解this
目录一、默认绑定二、隐身绑定三、隐式丢失3.1、别名调用3.2、参数传递3.3、内置函数3.4、间接调用3.5、其他情况四、显示绑定五、new绑定六、严格模式一、默认绑定(1).this 默认指向了 window,在全局环境下的 this 指向的就是 window。 <script> console.log(this);//Window this.alert('haha'); <原创 2022-02-27 15:42:54 · 265 阅读 · 0 评论 -
JS闭包详解
目录闭包一、外部访问局部变量方法二、闭包的概念三、闭包的作用四、用闭包做一个计数器五、闭包封装对象的私有属性和方法六、闭包使用注意事项七、闭包应用场景7.1、返回值7.2、函数赋值7.3、函数参数7.4、自执行函数7.5、循环赋值闭包在正常情况下,函数(函数作用域)中是可以访问外部变量的,而外部是无法访问函数作用域中的变量。 <script> function fn() { va原创 2022-02-26 20:51:42 · 886 阅读 · 1 评论 -
JS作用域链详解
1、作用域作用域是一套规则,用来确定在何处以及如何查找标识符。在 JS 中作用域分为全局作用域和函数作用域,另外函数作用域可以互相嵌套。在下面的例子中,存在着全局作用域 fn 作用域和 bar作用域,他们相互嵌套。 <script> var a = 1; var b = 2; function fn(x) { var a = 10; function bar(x) {原创 2022-02-21 18:04:58 · 10359 阅读 · 2 评论 -
JS预解析
目录一、什么是预解析二、预解析2.1、变量预解析2.2、函数预解析三、声明注意事项四、变量提升原因一、什么是预解析预解析是指在当前作用域下,JavaScript 代码执行之前,浏览器会默认把带有 var 和 function 声 明的变量在内存中进行提前声明或者定义。示例: <script> a = 2; var a; console.log(a);//2 </scri原创 2022-02-19 17:34:18 · 878 阅读 · 0 评论 -
JS深入理解作用域
目录一、什么是作用域二、作用域2.1、全局作用域2.2、函数作用域2.3、自动全局作用域三、作用域内部原理3.1、编译阶段3.2、执行阶段3.3、查询阶段3.4、嵌套阶段3.5、异常阶段四、词法作用域五、遮蔽效应一、什么是作用域作用域指一个变量的作用的范围。通常来说,一段程序代码中所用到的名字并不总是有效和可用 的,而限定这个名字的可用性的代码范围就是这个名字的作用域。作用域的使用提高了程序逻辑 的局部性,增强了程序的可靠性,减.原创 2022-02-19 16:23:00 · 5450 阅读 · 0 评论 -
JS深入理解函数
一、函数的声明函数声明有两种方式:自定义函数和函数表达式。 1.1、自定义函数语法格式: function 函数名称(参数列表) { 函数体 [return 值] }注意:(1)function 是声明函数的关键字必须小写;(2)function 关键字后必须跟函数名,函数名一般使用动词,需要符合命名规则;(3)函数名后跟一对小括号,小括号后跟一对大括号,大括号内是函数体。1.2、函数表达式(原创 2022-02-19 15:20:05 · 719 阅读 · 0 评论 -
JS本地存储
目录JS本地存储一、本地存储特性二、sessionStorage2.1、sessionStorage特点2.2、存储数据sessionStorage.setItem(key, value)2.3、获取数据sessionStorage.getItem(key)2.4、删除一个数据sessionStorage.removeItem(key)2.5、删除全部数据sessionStorage.clear()三、localStorage3.1、localStorage特点原创 2022-02-19 11:17:32 · 1976 阅读 · 5 评论 -
JS事件详解
目录一、事件注册1.1、传统注册方式1.2、监听注册方式1.3、两种注册方式比较二、解绑事件三、事件流3.1、事件冒泡3.2、事件捕获四、事件对象五、事件属性5.1事件目标5.2、事件委托六、事件方法6.1、阻止事件冒泡6.2、阻止默认行为6.2.1、阻止链接的默认行为6.2.2、阻止提交按钮提交表单的默认行为七、鼠标事件一、事件注册给元素添加事件就称之为注册事件,注册事件也叫绑定事件。注册事件有两种方式: (1)传统注册方原创 2022-02-16 23:07:11 · 683 阅读 · 0 评论 -
JS位置操作
目录一、offset1.1、offsetParent1.1.1、元素自身有 fixed 定位,offsetParent 是 null1.1.2、元素自身没有定位或者是相对或绝对,offsetParent 是 body1.1.3、元素自身没有定位,但父级元素有定位,offsetParent 是最近的定位元素1.1.4、body 元素的 offsetParent 是 null1.2、offsetTop和offsetLeft1.3、offsetWidth和offsetHeight原创 2022-02-16 14:54:54 · 1214 阅读 · 0 评论 -
Javascript节点
目录Javascript节点一、节点概述二、节点属性三、获取节点3.1、获取父节点parentNode3.2、获取子节点3.2.1、所有子节点childNodes3.2.2、子元素节点children3.2.3、第一个节点firstChild3.2.4、最后一个节点lastChild3.3、获取兄弟节点四、节点操作4.1、创建节点4.2、添加节点4.3、复制节点4.4、删除节点4.5、修改节点五、下拉菜单案例六、动态生成表格案例.原创 2022-02-16 10:06:08 · 1508 阅读 · 0 评论 -
JS衣服相册案例
一、需求移动到下方的小图片后,会在上面的大图位置进行显示,同时当前的小图片有红色边框线。 二、案例分析1、事件源:是小图片的li2、事件类型:移动(onmouseover)3、事件处理程序:(1)将小图片路径赋给大图片路径:img.src = this.children[0].src;(2)添加红色边框线的类:className三、代码如下<!DOCTYPE html><html lang="en"><head> &l原创 2022-02-15 19:39:18 · 156 阅读 · 0 评论 -
JS图片显示与隐藏案例
一、案例需求点击按钮后图片隐藏,同时按钮的文字变为显示,再次点击按钮图会显示,同时按钮的文 字变为隐藏。 二、案例分析1、事件源:按钮(button)2、事件类型:点击(onclick)3、事件处理程序:(1)文字内容改变用:innerText(2)图片是否显示用:display三、代码如下<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"原创 2022-02-15 17:45:42 · 3153 阅读 · 0 评论 -
JS图片切换案例
1、准备工作(1)照片4张(2)命名格式统一:p1.png、p2.png、p3.png、p4.png(3)将4张照片放入image文件里2、代码如下<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>图片切换</title> <style> img {原创 2022-02-15 17:11:34 · 1156 阅读 · 0 评论 -
DOM(文档对象模型)
1、DOM是什么DOM(Document Object Model,文档对象模型),是用来呈现以及与任意 HTML 或 XML文档 交互的API(Application Program Interface,应用程序接口)。DOM 是载入到浏览器中的文档 模型,以节点树的形式来表现文档,每个节点代表文档的构成部分(例如:页面元素、字符串或 注释等等)。DOM 是万维网上使用最为广泛的 API 之一,它允许运行在浏览器中的代码访问文件中的节点并 与之交互。节点可以被创建,移动或修改原创 2022-02-15 16:31:55 · 2045 阅读 · 0 评论 -
history 对象
window 对象还提供了一个 history 对象,它与浏览器历史记录进行交互。该对象包含用户(在 浏览器窗口中)访问过的URL。方法如下表所示。示例: <a href="b.html">b.html</a> <script> console.log('-----------') //history.forward(); history.go(1) </script>.原创 2022-02-15 11:44:26 · 154 阅读 · 0 评论 -
navigator 对象
1、什么是navigator 对象 navigator 对象包含有关浏览器的信息。查看 navigator 对象所有信息: console.log(navigator);下面以判断浏览器是否安装了某个插件为例,来说明其用法。在 navigator 对象众多属性中,有一个属性叫 Plugins,里面存放的就是插件信息,可通过如下 方式进行查看: console.log(navigator.plugins);下面通过封装一个方法,来判断是否安装了某个插件,如果安原创 2022-02-15 11:38:21 · 1145 阅读 · 0 评论 -
location对象
1、什么是 location对象window 对象中提供了 location 属性,该属性用于获取或设置浏览器地址栏中的 URL 值。这个 获取或设置属性后会返回一个对象,所以将这个属性称为 location 对象。 URL(Uniform Resource Locator)叫统一资源定位符,是互联网上标准资源的地址。它由以下 几部分组成。示例: <form><input type="text" name="account" placehol.原创 2022-02-15 11:29:57 · 295 阅读 · 0 评论 -
window对象
目录1、window对象2、window对象的常用的方法2.1、alert()2.2、confirm()3、window对象的常用的事件3.1、页面加载3.2、调整窗口大小4、定时器方法4.1、setTimeout()4.2、setInterval()1、window对象window 对象是浏览器的顶级对象,它具有双重角色。(1)它是 JavaScript 访问浏览器窗口的一个接口对象。(2)它是一个全局对象,所有定义在全局作用域的变量、函数都是它的属原创 2022-02-15 11:01:16 · 1080 阅读 · 2 评论 -
BOM(Browser Object Model)
1、什么是BOMBOM(Browser Object Model)即浏览器对象模型,它提供了独立于内容而与浏览器窗口进行 交互的对象,其核心对象是 window。BOM 由一系列相关的对象构成,并且每个对象都提供了 很多方法与属性。2、BOM的结构在 BOM 中包含了 DOM,整个 BOM 结构如下: ...原创 2022-02-15 09:50:44 · 183 阅读 · 0 评论 -
JS字符串方法
1、indexof()indexOf() 方法返回调用它的 String 对象中第一次出现的指定值的索引,从 fromIndex 处进行搜 索。如果未找到该值,则返回 -1。 语法如下:str.indexOf(searchValue [, fromIndex]) 示例: var str1 = 'hello world'; var p = str1.indexOf('l'); console.log(p); //2 p原创 2022-02-14 20:46:04 · 2709 阅读 · 0 评论 -
Javascript对象
1、什么是对象在 JavaScript 中,对象是一种复合的数据类型,用于保存一组无序的相关属性和方法的集合。属性:描述事物的特征,常用名词来定义方法:描述事物的行为,常用动词来定义 JavaScript 中对象分为以下几种:(1)内置对象在 ES 标准中定义的对象,在任何 ES 实现中都可以使用,如:Math、String、Number、 Function、Array等。(2)宿主对象由 JavaScript 运行环境(浏览器)提供的对象,如:BOM、原创 2022-02-14 16:47:34 · 600 阅读 · 1 评论 -
Javascript函数
1、什么是函数在 JS 中,函数也叫方法,它是把一组(某些)特定功能放到一起,形成一个代码块,这个代码为 了便于重复使用我们会给它定义一个名称,这个方式就叫函数。 语法格式: function 函数名称(参数列表) { 函数体; 返回值; }说明:在js中函数是使用function关键字来进行定义的。函数的名称需要符合命名规则,要见名知意。例一: function fn() { ...原创 2022-02-14 15:11:44 · 209 阅读 · 0 评论 -
JS数组方法
1、添加元素方法1.1、push()push() 方法是在数组元素的最后添加新的元素。执行成功后会返回新数组的长度。语法格式: 数组名称.push(新元素); var arr = [1, 2, 3, 4, 5]; console.log(arr); // 在数组的末尾添加元素 var l = arr.push(9); console.log(l); //返回的是数组的长度 conso原创 2022-02-14 14:28:40 · 227 阅读 · 0 评论