THE JOURNAL

标签:javascript

共 33 篇记录

javascript 递归

概念在程序中函数直接或间接调用自己,然后跳出结构,返回结果递归的步骤(技巧)假设递归函数已经写好寻找递推关系将递推关系的结构转换为递归体将临界条件加入到递归体中示例求 1+2+3+3+...n 的和。二逼青年:首数加位数 ,乘以个数除以 2function sum(n) { return ((1 + n) * n) / 2;}console.log(sum(100)); //5050普通青年:写

一个九宫格抽奖的轮子

在线demodemo安装NPMnpm i k-luckdraw -SCDNscript src="//unpkg.com/k-luckdraw/index.js"/script参数 optionsvar options = { id:'', //render 的dom的ID,必填*** data: [], //奖品的数据,必填*** index: -1, //当前转动到哪个

JS通用模块写法

模块化这个问题并非一开始就存在,WWW 刚刚问世的时候,html,JavaScript,CSS(JS 和 CSS 都是后来在网景被引进浏览器的)都是极其简单的存在,不需要模块化。模块化的需求是规模的产物,当 web page 进化到 web application,浏览器端处理的逻辑越来越复杂,展现的样式和动画越来多,对于工程的要求也就越来越高。于是模块化的需求也就产生了。模块化的意义:组件的复用

javascript 中Array一些操作方法

javascript 中 Array 一些高效的操作方法Array.from()方法从一个类似数组或可迭代对象中创建一个新的数组实例。console.log(Array.from("foo"));// expected output: Array ["f", "o", "o"]console.log(Array.from([1, 2, 3], (x) = x + x));// expected o

javascript 中Object一些操作方法

javascript 中 Object 一些高效的操作方法Object.assign()方法用于将所有可枚举属性的值从一个或多个源对象复制到目标对象。它将返回目标对象。const object1 = { a: 1, b: 2, c: 3 };const object2 = Object.assign({ c: 4, d: 5 }, object1);console.log(object2); //

WEB动画的几种实现方式

WEB 的动画实现多种多样,随着 H5 的发展,实现动画的方式越来越多了。初步统计实现动画的方式有以下一些方式实现一、GIF 动画通常咱们社交聊天的一些动态表情,大多都是 gif 动画。GIF(Graphics Interchange Format)的原义是“图像互换格式”,GIF 文件的数据,是一种基于 LZW 算法的连续色调的无损压缩格式。其压缩率一般在 50%左右,它不属于任何应用程序。GI

JavaScript 继承

什么是继承?继承就是你爸爸很多钱,所以你就继承你爸爸,变成了富二代,也是个有钱的主,突然你爸爸世界杯赌球,输了个精光,于是你也变成了穷光蛋。这个就是继承非也,非也。C# 继承public class A { private int a; private int b;}public class B :A { private int c; private int b;}//B 继承 AES6

KUI for React.js

React KUI基于 React 19.2+ 和 TypeScript 的桌面端 UI 组件库[![npm version](https://img.shields.io/npm/v/react-kui.svg?style=flat-square)](https://www.npmjs.com/package/react-kui)[![npm downloads](https:/

javascript ES6 Proxy

proxy 的概念proxy 英文原意是代理的意思,在 ES6 中,可以翻译为"代理器"。它主要用于改变某些操作的默认行为,等同于在语言层面做出修改,所以属于一种“元编程”(meta programming),即对编程语言进行编程。proxy 在目标对象的外层搭建了一层拦截,外界对目标对象的某些操作(后文会说明,有哪些操作可以拦截),必须通过这层拦截。语法var proxy = new Proxy

webpack3 升级 webpack4

据说 webpack3 比 webpack4 编译速度将近快了 60%-80%,成功升级之后,于是来记录下,项目主要是 vue ^2.5.9 , webpack ^4.10.2 , webpack-dev-sever ^3.1.4 ,配合升级的还有 vue-loader ^15项目重现编译之后由原来的 1.7MB 减少到 1.1MB ,看来在压缩这块也是由效果的。需要修改的地方有以下几点:vue-

WEB 前端跨域解决方案

跨域定义广义的定义:跨域是指一个域下的文档或脚本试图去请求另一个域下的资源。1.) 资源跳转: 链接、重定向、表单提交2.) 资源嵌入: link 、 script 、 img 、 frame 等 dom 标签,还有样式中 background:url() 、 @font-face() 等文件外链3.) 脚本请求: js 发起的 ajax 请求、 dom 和 js 对象的跨域操作等同源策略同源策略

HTTP 缓存机制

Web 缓存大致可以分为:数据库缓存、服务器端缓存(代理服务器缓存、CDN 缓存)、浏览器缓存。浏览器缓存也包含很多内容: HTTP 缓存、 indexDB 、 cookie 、 localstorage 等等。这里要说的是 http 缓存。使用缓存的好处减少了冗余的数据传输缓解了网络瓶颈的问题降低了对原始服务器的要求降低了距离时延术语缓存命中率:从缓存中得到数据的请求数与所有请求数的比率。理想状

Javascript 中的对象拷贝

说到 javascript 中的对象拷贝,首先我们想到的是 Object.assign() , JSON.parse(JSON.stringify()) , 还有 ES6 的展开操作符[... ]因为在 js 中= 运算符 对于对象来说,不能创建副本,只是对该对象的引用运算符var x = { a: 1, b: 2,};y = x;x.a = 10;console.log(x); //{a:

关于ajax无刷新上传和下载

关于 ajax 无刷新上传和下载这是一个没什么含量但是又用的比较多又不得不说的问题,其实真的不想说,因为没什么好说的。关于上传使用 Flash, ActiveX 上传 ,略...自己写 XMLHttpRequest// 准备FormDatavar formData = new FormData();formData.append("key", value);// 创建xhr对象var xhr =

KUI for Vue.js

KUI Vue 面向 Vue 3 的现代 TypeScript UI 组件库。 70+ 精心设计的组件 · 明暗主题 · 支持 SSR 与 Nuxt · 灵活的设计 Token 文档 · 快速开始 · 组件总览 · 暗色模式 · 问题反馈 English · 简体中文 pnpm add kui-vue特性70+高质量组件国际化支持