
Javascript
文章平均质量分 63
JS 相关知识点
Conan_W
这个作者很懒,什么都没留下…
展开
-
JS- 浅谈原型(prototype)和原型链以及继承
使用原型的好处的:可以让所有对象实例共享它所包含的属性和方法,换句话说:不必在构造函数中定义对象实例的信息, 而是可以将这些信息直接添加到原型对象中。原型模式原型对象: 针对函数的原型对象, 为函数创建一个prototype属性,这个属性指向函数的原型对象。注意点实例中的属性优先级大于原型中的属性的优先级。也就实例中同名的属性会覆盖原型中的属性。hasOwnProperty() 方法可以检测一个属性是否属于某一个对象。也就是属性存在于实例对象中时候,才会返回true,所以可以通过使用此.原创 2020-12-23 08:58:05 · 188 阅读 · 0 评论 -
Babel/Plugin -支持JS新语法[可选链操作符/空值合并操作符/空值合并操作符]
最近在学习ES最新几个版本的新特性的时候发现 **?.**可选链操作符, **??**空值合并操作符, **??=**空值合并操作符等。大致的演示一下用法:?. 可选链操作符var obj = { a: 1},obj.a // 1obj.b // undefinedobj.a.b // undefinedobj.b.c // Error报错obj?.b?.c // undefined// 允许我们深层的检索有没有该属性?? 空值合并运算符// 当左侧的值为null和undef原创 2022-05-16 17:22:51 · 3242 阅读 · 0 评论 -
JS-时间日期
日期时间GMT // 格林尼治标准时间UTC // 协调世界时,又称世界统一时间,世界标准时间,国际协调时间,简称UTC(Universal Coordinated Time)。时间戳 // 1970年1月1日午夜到指定日期(字符串)的毫秒数// Q1: UTC和GMT的区别?1. UTC是根据原子钟来计算时间,而GMT是根据地球的自转和公转来计算时间。2. UTC是现在用的时间标准,GMT是老的时间计量标准。UTC更加精确,由于现在世界上最精确的原子钟50亿年才会误差1秒,可以说非常精确原创 2022-01-10 15:44:01 · 547 阅读 · 0 评论 -
JS - 下载文件
JS实现文件下载原创 2021-12-13 21:38:13 · 1546 阅读 · 0 评论 -
JS - API的封装:数组篇(1)
数组的API是居多的。 //创建一个方法,返回value值对应的key function findKey (obj,value, compare = (a, b) => a === b) { return Object.keys(obj).find(k => compare(obj[k], value)) } findKey(myObject, keyValue) // 在数组中寻找min/max原创 2021-07-12 18:01:48 · 250 阅读 · 0 评论 -
JS-数组的排序(max/min)
js原创 2021-07-12 18:01:04 · 999 阅读 · 0 评论 -
ES6 - Promise详解
在了解Promise之前,我们来增加一些基础知识。在前端中,异步是JS的重要特点,可以说没有异步处理,就没有前后端分离这一说。固然异步处理有异步处理的好处,比如:防止单线程阻塞的问题等。但是异步也会给我们带来一些问题。所以这个时候就需要异步的同步化。问题来了,请问异步同步化的方法有几种?回调函数(容易导致回调地狱)PromiseGenerator (微任务)async/await接下来,我们来聊聊什么Promise,以及Promise是如何处理异步同步化问题的。Promise 对象为了原创 2021-07-12 17:58:19 · 544 阅读 · 0 评论 -
ES6 - Generator函数和async/await方法
今天我们来详细了解一下另外两种的处理异步同步化的方法。先来看一个实例。// 使得下面代码按照p2, p1的顺序打印let p1 = function () { return new Promise((resolve, reject) => { setTimeout(() => { console.log('p1'); resolve('p1'); }, 1000)原创 2021-07-12 17:57:24 · 262 阅读 · 0 评论 -
DEMO-拖拽插件
Vue的拖拽插件拖拽插件vuedraggable 方式是标准的组件式封装,并且将可拖动元素放进了transition-group上面,过渡动画都比较好vuedraggable拖动可以在updated中监听到vuedraggable的拖动规则是 拖动元素后到新位置,后面元素依次退了一个位置1. 安装npm install vuedraggable --save2. 引入import vuedraggable from 'vuedraggable'components: {vuedragga原创 2021-07-05 14:34:56 · 282 阅读 · 0 评论 -
JS-事件流
事件就是⽂档或浏览器窗⼝中发⽣的⼀些特定的交互瞬间,⽽事件流(⼜叫事件传播)描述的是从⻚⾯中接收事件的顺序。事件冒泡事件冒泡(event bubbling),即事件开始时由最具体的元素(⽂档中嵌套层次最深的那个节点)接收,然后逐级向上传播到较为不具体的节点。看如下例⼦:<!DOCTYPE HTML><html lang="en"><head><meta charset="UTF-8"><title>Document</titl原创 2021-05-19 00:24:44 · 133 阅读 · 0 评论 -
vue-详解插槽的概念
的的的原创 2021-05-16 17:48:52 · 247 阅读 · 0 评论 -
JS - 浅谈执行上下文以及执行上下文栈
执行上下文栈js代码执行顺序是什么,大部分人都知道同步执行var foo = function(){ console.log('foo1'); } foo(); // foo1 var foo = function(){ console.log('foo2'); } foo() // foo2然后看以下下面代码 function foo(){原创 2020-12-23 08:56:00 · 234 阅读 · 2 评论 -
JS-js引擎解析过程(补充)
语法解析作用: 通过对JS的代码块进行基本的语法解析。如果发现低级的语法错误(SyntaxError),就会抛出相应的语法错误(Error),则继续对下一个代码块继续进行语法分析。如果该代码块解析成功,将会进入到下一个阶段预编译阶段。预编译完成语法分析的代码块会进入到这个阶段,预编译阶段涉及到执行环境问题。(全局环境和函数环境以及eval环境)当代码块进入到预编译阶段首先会进入全局环境,当每个函数函数被调用的时候才会进入函数环境,预编译四重奏:创建AO对象找形参和变量声明,原创 2021-07-12 18:03:25 · 314 阅读 · 0 评论 -
JS -作用域链和执行上下文栈的联系
Q1: 作用域链是什么?直接解释为,由层级中多个执行上下文的变量对象组成的链表为作用域链。详情请看是上一篇的作用域以及作用域的介绍。Q2:执行上下文栈是什么?直接理解为: 用来管理和存储执行上下文的类数组结构。详情请看是上一篇的作用域以及作用域的介绍。Q3: 作用域链和执行上下文栈的关系?让我们用代码解释一下: // globalContext = { VO:{},this:window,Scope:go.[[scope]] } // 全局执行上下文原创 2020-12-22 20:55:36 · 273 阅读 · 2 评论 -
JS-作用域以及作用域链的理解
js深入系列之作用域以及作用域链在《JavaScript深入之变量对象》中讲到,当查找变量的时候,会先从当前上下文的变量对象中查找,如果没有找到,就会从父级(词法层面上的父级)执行上下文的变量对象中查找,一直找到全局上下文的变量对象,也就是全局对象。这样由多个执行上下文的变量对象构成的链表就叫做作用域链*[[scope]]。下面,让我们以一个函数的创建和激活两个时期来讲解作用域链是如何创建和变化的。函数创建在《JavaScript深入之词法作用域和动态作用域》中讲到,函数的作用域在函数定义的时原创 2020-12-22 20:54:34 · 320 阅读 · 1 评论 -
JS-js引擎的执行过程
js引擎的执行过程原创 2020-12-22 20:52:40 · 343 阅读 · 0 评论 -
JS-数组方法总结
js原创 2020-12-22 20:49:34 · 140 阅读 · 0 评论 -
JS-字符串的方法
js原创 2020-12-22 20:48:39 · 94 阅读 · 0 评论 -
JS-Math内置对象
js原创 2020-12-22 20:47:14 · 179 阅读 · 0 评论 -
JS-Date内置对象
js原创 2020-12-22 20:46:23 · 186 阅读 · 0 评论 -
JS-数组去重方法
js原创 2020-12-22 20:44:55 · 173 阅读 · 0 评论 -
JS-浅谈JS闭包问题
闭包 是是一保护私有变量的机制,在函数执行时形成私有作用域,保护里面的私有变量不受外界干扰,直观的说就是形成不销毁的栈。闭包就是能够读取其他函数内部变量的函数。由于在Javascript语言中,只有函数内部的子函数才能读取局部变量,因此可以把闭包简单理解成“定义在一个函数内部的函数”。所以,在本质上,闭包就是将函数内部和函数外部连接起来的一座桥梁。用途闭包可以用在许多地方。它的最大用处有两个:一个是前面提到的可以读取函数内部的变量,另一个就是让这些变量的值始终保持在内存中。注意点1)由于闭包原创 2020-12-22 20:42:29 · 611 阅读 · 1 评论 -
浅谈this属性对象的理解
标题浅谈This对象的理解this是执行上下文的一种属性,它指向最后一次调用的对象。在实际开发中,this的指向可以通过四种调用模式来判断。第一种是函数的调用模式,当一个函数不是一个对象的属性时,直接作为函数来调用时,this指向全局对象。第二种是方法调用模式,如果一个函数作为一个对象的方法来调用时,this指向这个对象。第三种是构造器调用模式,如果一个函数用new调用时,函数执行前会创建一个对象,this指向新创建的对象。第四种是apply、、call和bind调用模式,这三种方法都可以显原创 2020-12-22 20:15:09 · 710 阅读 · 0 评论 -
JS - undefined 数据类型
在了解undefined 数据类型之前,我们来复习一下js数据类型。JS 的数据类型包括:Boolean: true 和 falseNumber: 整数1 和浮点数 1.2String: Conan WangNull: nullUndefined: undefinedSymbol: Symbol("name") (ES2015)undefined 的数据类型:typeof undefined === “undefined”; //true2. 导致undefined的常见原创 2020-12-23 08:57:13 · 1256 阅读 · 0 评论 -
HTML中总结实现tab切换的几种可行方法
BAT大家都不陌生,B:代表Baidu.com,A:代表Alibaba.com,T:代表Tencent.com,对于很多程序员来说,这就是梦想,但是对于小编来讲,适合自己的才是最重要的。原创 2020-12-21 09:07:48 · 8099 阅读 · 1 评论 -
HTML中<iframe>跨域的页面
今天我们来谈谈一个页面的内嵌某个页面的问题,已经被内嵌的网页的高度自适应问题以及内容的溢出导致的滚动条的隐藏的问题,首先我们应该先了解什么是跨域和同域的问题何为跨域和同域URL说明是否允许通信http://www.a.com/a.js http://www.a.com/b.js同一个域名下允许http://www.a.com/lab/a.js http://www.a.com/script/b.js同个域名下,不同文件夹下允许http://www.a.com:原创 2020-12-21 09:01:58 · 2746 阅读 · 0 评论 -
HTML <iframe>实现同域下的页面
在同域情况下:原创 2020-12-21 09:01:27 · 1317 阅读 · 0 评论 -
HTML- 浅谈<iframe>标签的使用
标签原创 2020-12-21 09:00:30 · 1503 阅读 · 0 评论 -
CSS中的canvas元素
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档一、什么是canvas?是HTML5新增的元素,通过使用脚本语言(JS)来在特定的区域绘制图形,可以制作照片集和简单的动画,也可以处理和渲染视频。二、Canvas的基本使用canvas 语法<canvas id="first" width="300px" height="300px"></canvas>canvas 元素<canvas>标签和<img>其实是一样的,只是<原创 2020-12-19 16:48:03 · 9279 阅读 · 2 评论 -
浅谈Get和Post方式的区别
基本解释分类GetPost后退按钮/刷新无影响数据会被重新刷新缓存会被缓存不会被缓存书签可收藏为书签不可收藏为书签历史记录保留不保留编码类型application/x-www-form-urlencodedmultipart/form-data 多重编码用处常用于取回数据常用于提交数据请求参数get的querystring(仅支持urlencode编码)post的参数是放在body(支持多种编码)请求参数长度限制原创 2020-12-19 16:44:14 · 139 阅读 · 0 评论 -
ES6- let、const、var的区别
标题浅谈let、const、var的区别在ES6中,添加了let、const两个JavaScript关键字。特点是:let关键字声明的变量只能在let命令的代码块中生效。const关键字声明的只是一个只读常量,一旦声明之后,常量的值就不能修改。全局变量在函数体外声明的变量是全局变量,全局变量在任何地方都可以访问,它的作用域是全局的。局部变量在函数体内声明的变量是局部变量,局部变量只能在函数内部访问,它的作用域是局部的。块级作用域在ES6之前没有块级作用域的概念,在引进let、const关原创 2020-12-19 16:43:25 · 180 阅读 · 0 评论