![](https://img-blog.csdnimg.cn/20190529100000513.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Javascript
文章平均质量分 66
JavaScript开发中遇到的问题
Run4Freedom
这个作者很懒,什么都没留下…
展开
-
前端配置化表单开发
本文从 场景介绍 、 设计&实现 、 性能优化 三个部分进行讲解。笔者当时的技术栈是 vue2 + element-ui,文章案例也是(其实大家不必纠结于技术栈,掌握设计的思路和理念,什么框架都是一样的)。主要能解决的问题就是 提高代码复用能力、提升开发效率,特别是需要开发多个大型表单系统的,配置化可以极大的提升效率,让你上班摸鱼不再是梦想!为了早点下班,我们接着往下看吧!...转载 2022-06-27 20:21:47 · 1697 阅读 · 0 评论 -
6个你可以马上使用的JavaScipt小技巧
JavaScript在越来越多的地方被使用,而且它还时不时的更新。既然更新了,就会有新的功能和新的方法来实现某些编程目标。其中一些功能可能需要使用polyfills或其他库(如Babel),以确保你的所有代码在最老的浏览器上也能如期工作。原创 2022-05-11 10:22:14 · 93 阅读 · 0 评论 -
如何在 JavaScript 中用初始值填充数组
如何在Javascript中用初始值填充数组原创 2022-05-11 09:55:36 · 588 阅读 · 0 评论 -
Vue组件递归——组件化开发
不知道大家有没遇到过这样的场景:渲染列表数据的时候,列表的子项还是列表。如果层级少尚且可以用几个for循环搞定,但是层级多或者层级不确定就有点无从下手了。其实这就是树形结构数据,像常见的组织架构图,文件夹目录,导航菜单等都属于这种结构。很多组件库都带有树形组件,但往往样式不是我们想要的,改起来也非常的费劲。那么,如何自己渲染这些数据呢?答案就是——组件递归!原创 2022-04-01 17:55:54 · 561 阅读 · 0 评论 -
js实现深拷贝
深度克隆(深拷贝)一直都是初、中级前端面试中经常被问到的题目,网上介绍的实现方式也都各有千秋,大体可以概括为三种方式: 1. JSON.stringify+JSON.parse, 这个很好理解; 2. 全量判断类型,根据类型做不同的处理 3. 2的变型,简化类型判断过程原创 2022-04-01 16:05:32 · 139 阅读 · 0 评论 -
js实现桌面录屏功能
介绍桌面录屏功能js的实现方案原创 2022-05-21 11:38:33 · 933 阅读 · 0 评论 -
jQuery之ajax篇
jquery之ajax篇一.jquery ajax设置header的两种方式1.设置headers参数:headers: { // "Authorization":"Basic "+ auth, 'Content-Type': 'application/json'},2.设置在beforeSend方法中beforeSend: function (xhr) { xhr....原创 2019-02-18 17:06:17 · 650 阅读 · 0 评论 -
style.left 与offsetLeft,style.width和offsetWidth的之间区别
1. style.left 与offsetLeft之间的区别 offsetLeft 获取的是相对于父对象的左边距marginleft,left 获取或设置相对于 具有定位属性(position定义为relative)的父对象 的左边距如果父div的position定义为relative,子div的position定义为absolute,那么子div的style.left的值是相对于父div的...原创 2018-07-10 17:46:04 · 754 阅读 · 0 评论 -
标准时间转换
var format = function(time, format){ var t = new Date(time); var tf = function(i){return (i < 10 ? '0' : '') + i}; return format.replace(/yyyy|MM|dd|HH|mm|ss/g, function(a){ swi...原创 2018-05-30 14:51:55 · 1007 阅读 · 0 评论 -
深入理解javascript闭包
什么是闭包? 当一个函数能够记住并访问到其所在的词法作用域及作用域链,特别强调是在其定义的作用域外进行的访问,此时该函数和其上层执行上下文共同构成闭包。需要明确的几点:1.闭包一定是函数对象2.闭包和词法作用域、作用域链、垃圾回收机制息息相关3.当函数一定是在其定义的作用域外进行访问时,才产生闭包4.闭包是由该函数和其上层执行上下文共同构成闭包的应用需要注意的事...原创 2018-04-13 13:41:05 · 231 阅读 · 0 评论 -
JavaScript实现继承的几种方式
javascript实现继承的几种方式JS作为面向对象的弱类型语言,继承也是其非常强大的特性之一。JS继承的实现方式既然要实现继承,那么首先我们得有一个父类,代码如下:// 定义一个动物类function Animal (name) { // 属性 this.name = name || 'Animal'; // 实例方法 this.sleep = f...原创 2018-03-24 00:06:23 · 2131 阅读 · 0 评论 -
Web Storage 概念和用法
Web Storage API 提供机制, 使浏览器能以一种比使用Cookie更直观的方式存储键/值对。Web Storage 概念和用法Web Storage 包含如下两种机制:sessionStorage 为每一个给定的源(given origin)维持一个独立的存储区域,该存储区域在页面会话期间可用(即只要浏览器处于打开状态,包括页面重新加载和恢复)。localStora...原创 2018-04-13 13:42:25 · 1917 阅读 · 1 评论 -
ES6---箭头函数()=>{} 与function的区别
1.箭头函数与function定义函数的写法://functionfunction fn(a, b){ return a + b;}//arrow functionvar foo = (a, b)=>{ return a + b };2.this的指向:使用function定义的函数,this的指向随着调用环境的变化而变化的,而箭头函数中的this指向是固定不...原创 2018-03-05 15:46:52 · 71974 阅读 · 7 评论 -
javascript中的call、apply和bind的用法
call和applycall、apply和bind都可以改变this的指向,call和apply绑定对象之后会立即执行,而bind绑定的方法需要调用才能执行。obj.call(thisObj, arg1, arg2, ...);obj.call(thisObj, [arg1, arg2, ...]);两者的作用一致,都是把obj(即this)绑定到thisObj,这个时候this...原创 2018-03-01 11:38:56 · 229 阅读 · 0 评论 -
快速理解ES7 await/async
await/async 是 ES7 最重要特性之一,它是目前为止 JS 最佳的异步解决方案了。虽然没有在 ES2016 中录入,但很快就到来,目前已经在 ES-Next Stage 4 阶段。直接上例子,比如我们需要按顺序获取:产品数据=>用户数据=>评论数据老朋友 Ajax传统的写法,无需解释// 获取产品数据ajax('products.json', (products)转载 2018-02-06 17:56:25 · 309 阅读 · 0 评论 -
get和post有什么区别
1.html标准对http协议的使用方式:1 用途:Get是用来从服务器上获得数据,而Post是用来向服务器上传递数据。2.传输方式:GET使用URL或Cookie传参。而POST将数据放在BODY中。3.大小限制:GET的URL会有长度的限制,则POST的数据可以非常大。4.安全性:POST比GET安全,因为数据在地址栏上不可见。2.get和POST与数据如何传递没有关系:原创 2018-01-24 11:10:26 · 420 阅读 · 0 评论 -
break、continue、return的区别
break,continue,return的区别(1)break 直接跳出当前的循环,从当前循环外面开始执行,忽略循环体中任何其他语句和循环条件测试。他只能跳出一层循环,如果你的循环是嵌套循环,那么你需要按照你嵌套的层次,逐步使用break来跳出. (2)continue 也是终止当前的循环过程,但他并不跳出循环,而是继续往下判断循环条件执行语句.他只能结束循环中的一次过程原创 2018-01-22 10:58:25 · 1648 阅读 · 0 评论 -
ECMAScript 6 教程
ECMAScript 6 目前基本成为业界标准,它的普及速度比 ES5 要快很多,主要原因是现代浏览器对 ES6 的支持相当迅速,尤其是 Chrome 和 Firefox 浏览器,已经支持 ES6 中绝大多数的特性。 1. let、const 和 block 作用域let 允许创建块级作用域,ES6 推荐在函数中使用 let 定义变量,而非 var:var a = 2;{ le原创 2018-01-19 12:20:20 · 316 阅读 · 0 评论 -
js/javascript代码注释规范与示例
注释在代码编写过程中的重要性,写代码超过半年的就能深深的体会到。没有注释的代码都不是好代码。为了别人学习,同时为了自己以后对代码进行‘升级’,看看js/javascript代码注释规范与示例。文件注释文件注释位于文件的最前面,应包括文件的以下信息:概要说明及版本(必须)项目地址(开源组件必须)版权声明(必须)开源协议(开源组件必须)版本号(必须)修改时间(必须),以ISO格式表示(可使用S原创 2018-01-18 16:36:51 · 292 阅读 · 0 评论 -
JavaScript内存管理
简介内存生命周期JavaScript 的内存分配值的初始化通过函数调用分配内存使用值当内存不再需要使用时释放垃圾回收引用引用计数垃圾收集限制循环引用实际例子标记-清除算法循环引用不再是问题了限制 那些无法从根对象查询到的对象都将被清除简介像C语言这样的高级语言一般都有低级的内存管理接口,比如 malloc()和free()。另一方面,Ja原创 2018-01-17 11:43:54 · 198 阅读 · 0 评论 -
JavaScript Promise对象
JavaScript Promise对象ECMAscript 6 原生提供了 Promise 对象。Promise 对象代表了未来将要发生的事件,用来传递异步操作的消息。Promise 对象有以下两个特点:1、对象的状态不受外界影响。Promise 对象代表一个异步操作,有三种状态:pending: 初始状态,不是成功或失败状态。fulfilled: 意味着操作成功完成。rejected: 意原创 2018-01-02 18:21:52 · 252 阅读 · 0 评论 -
ES6-变量的解构赋值
数组的解构赋值Destructuring ES6允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构(Destructuring) 。var [p, q = "aaa"] = ["bbb", undefined]console.log(p, q) // bbb aaavar [temp = "string"] = ["tempString"]console.log(temp原创 2017-12-26 16:02:37 · 737 阅读 · 0 评论 -
ES6 let和const命令
let命令1.基本用法 ES6新增了let命令,用来声明变量。它的用法类似于var,但是所声明的变量,只在let命令所在的代码块内有效。2.不存在变量提升 let不像var那样,会发生“变量提升”现象。3.暂时性死区 只要块级作用域内存在let命令,它所声明的变量就“绑定”(binding)这个区域,不再受外部的影响。4.不允许重复声明 let不允许在相同作用域内,重复声明同一个变量。块级作原创 2017-12-19 16:23:08 · 254 阅读 · 0 评论 -
ECMAScript 6 简介
ECMAScript 6 简介什么是ES6ECMAScript和JavaScript的关系ECMAScript 6(以下简称ES6)是JavaScript语言的下一代标准,已经在2015年6月正式发布了。Mozilla公司将在这个标准的基础上,推出JavaScript 2.0。ECMAScript和JavaScript到底是什么关系?很多初学者会感到困惑,简单来说,ECMAScript是JavaS原创 2017-12-19 15:24:57 · 266 阅读 · 0 评论