js

js 上传文件模拟Form 表单

£可爱£侵袭症+ 提交于 2020-02-02 14:35:21
使用FormData对象 在本文章中 创建一个FormData对象 使用HTML表单来初始化一个FormData对象 使用FormData对象发送文件 利用 FormData 对象,你可以使用一系列的键值对来模拟一个完整的表单,然后使用 XMLHttpRequest 发送这个"表单". 创建一个FormData对象 你可以先创建一个空的 FormData 对象,然后使用 append() 方法向该对象里添加字段,如下: var oMyForm = new FormData(); oMyForm.append("username", "Groucho"); oMyForm.append("accountnum", 123456); // 数字123456被立即转换成字符串"123456" // fileInputElement中已经包含了用户所选择的文件 oMyForm.append("userfile", fileInputElement.files[0]); var oFileBody = '<a id="a"><b id="b">hey!</b></a>'; // Blob对象包含的文件内容 var oBlob = new Blob([oFileBody], { type: "text/xml"}); oMyForm.append("webmasterfile", oBlob)

前端总结

萝らか妹 提交于 2020-02-02 14:35:04
HTML <!doctype> #规定文档类型 <!-- 注释 --> 转义字符以&;包裹 #在&;中间单词简写,详情查看8-1 <head> 头标签 <body> 体标签 <html> 根标签,全局的属性写在这里 ,标签种类等详情查看8-3 <div> 用来搭建页面结构的标签 width: 200px # 标签的宽 height: 200px # 标签的高 border-radius: 50%; #边框圆角设置 background-color: blue; #标签的底色设置 border: 1px solid black; # broder边框,1px就是1像素,solid就是实线,black就是定义边框的颜色 color: hotpink; #字体颜色 font-size: 30px; # 字体大小 transition: 1s 1s all linear; # 就是动画效果过渡效果,1s 1s过渡效果展开的时间和延迟时间,延迟时间一般不会写,用户体验度不好,动画属性默认all,渡曲线linear(线性) .box:hover{} # hover给鼠标添加悬停效果 cursor:pointer; # 鼠标样式 list-style: none; # 清除列表样式 text-decoration: none; # 清除字体下划线 margin: 0; #

JS之reduce函数解析

…衆ロ難τιáo~ 提交于 2020-02-02 14:30:25
语法: arr.reduce(callback,[initialValue]) reduce() 方法接收一个函数作为累加器 ,reduce 为数组中的每一个元素依次执行回调函数 参数说明: (1)callback是调用方法; (2)initialValue是callback初次调用时的第一个参数值。 callback函数中包含四个参数:如下 arr.reduce(function(prev,cur,index,arr){ },init) arr 表示原数组; prev 表示上一次调用回调时的返回值,或者初始值 init; cur 表示当前正在处理的数组元素; index 表示当前正在处理的数组元素的索引,若提供 init 值,则索引为0,否则索引为1; init 表示初始值。 示例: (1) 求数组项的和 由于传入了初始值0,所以prev的值是0,cur的值为为数组的第一项1,相加之后的和1为下一轮的回调的prev'的值,然后再继续与下一个数组项相加,直到完成所有数组项的和并返回。 (2)求数组项的最大值 (3)数组去重 原理: (1) 初始化一个空数组作为初始值; (2) 将数组中的第一项在初始化的数组中查找,如果初始数组里没有此项,那么就将此项添加到初始数组, (3) 将需要去重处理的数组中的第2项在 初始化数组 中查找,如果找不到,就将该项继续添加到 初始化数组 中 (4

js属性对象的hasOwnProperty方法

偶尔善良 提交于 2020-02-02 13:09:28
判断自生属性与继承性 function foo() { this.name = 'foo' this.sayHi = function () { console.log('Say Hi') } } foo.prototype.sayGoodBy = function () { console.log('Say Good By') } var myPro = new foo() console.log(myPro.name) // foo console.log(myPro.hasOwnProperty('name')) // true console.log(myPro.hasOwnProperty('toString')) // false console.log(myPro.hasOwnProperty('hasOwnProperty')) // fasle console.log(myPro.hasOwnProperty('sayHi')) // true console.log(myPro.hasOwnProperty('sayGoodBy')) // false console.log('sayGoodBy' in myPro) // true 判断自生属性是否存在 var o = new Object(); o.prop = 'exists'; function

前端学习总结(三)

北城以北 提交于 2020-02-02 10:55:49
本章的问题都是学习过程中一些基础问题。 前几天学习了js、html、css的相关知识。昨天安装nodejs和npm又出了一些问题,今天中午解决了这些问题,也安装了vue。 并跟着一个vue入门课程完成了基础语法的学习。 接下来对今天的学习进行一个总结。 啊万事开头难,发现有很多东西我都无法给出真正的解释。 1. 如何描述html、css、js之间的关系。 2.为什么不通过一个语言来完成前端这件事情,反而在不停的出现新的东西。 例如,js是对页面中的事件进行响应的。为什么是js,而不是其他?如果说是因为js是一门脚本语言的话,那么其他脚本语言可以吗? 3.这就引出了另一个问题。有哪些脚本语言,脚本语言的好处,以及应用场景分别是什么 4.在查阅的过程中,根据大家对于脚本语言和编程语言的定义,另一个问题,编译和解释这个两个过程又该如何解释? 以上是一些基础或者称之为愚蠢的问题。 1.事件 在打开的页面上,浏览器本身或者用户可能对html元素进行一些操作。进行操作之后就要进行响应。因此,监听到这些事件之后通过js定义函数来进行操作。 下面这个链接汇总了大部分事件: https://www.cnblogs.com/daijing/p/10388008.html 2.Dom到底是什么意思? 这个问题,我现在只是朦朦胧胧有点理解。html的文件结构会形成一个dom树。 html中的标签元素是节点

gulp-uglify 压缩js

荒凉一梦 提交于 2020-02-02 08:28:28
前提:已经安装有安装了node 和npm 环境 安装gulp 假设已经安装了node 和npm (淘宝的cnpm很适合国内使用)。 1、首页全局安装gulp。 1 npm install --global gulp 2、其次局部安装gulp。(注:局部安装是安装到你项目的根目录,这是很多教程没有清晰表明) npm install gulp --save-dev 3、在项目根目录下创建一个名为 gulpfile.js 的文件 // 引入 gulp及组件 var gulp = require('gulp'); gulp.task('default',function(){ gulp.start('minify'); }); //JS处理 gulp.task("minify",function(){ ... ... }) View Code 4、运行gulp。(默认的名为 default 的任务(task)将会被运行,想要单独执行特定的任务(task),请输入 gulp <task> <othertask>) gulp 5、安装压缩组件 gulp-uglify npm install gulp-uglify --save-dev 在上述 gulpfile.js 的文件里,写入: var gulp = require('gulp'); var uglify = require('gulp

Js分页条 摆脱JQuery及JQuery分页插件的束缚

倾然丶 夕夏残阳落幕 提交于 2020-02-02 07:14:10
前言:这个是很久很久自己写的一个 Js 分页条,今天无意中看 自己写的JS类库中 ,发现这个文件,看了下,感觉这个可能以后还用的到他。 所以,先保存起来再说,怕以后都找不到你了。简单的逻辑,简单的实现,不简单的应用。 想想自己很久很久以前,想写个分页,到处网上找第三方控件,还要总是百度,谷歌查怎么用,现在想想,真是天真。 后来,就想自己写个分页条,那时候是写ASPX页面,当时都不太了解ASP.NET运行原理等等的,当时还天真的用了VIEWSTATE来保存数据, 更天真的是,我既然写个不同的页码条数不会写,而是写死,膜拜别人网站各种分页条,天啊!现在想想想死的心都有。 我现在只能感慨一句,什么分页,都是浮云! 好了,回顾了这么久我青涩的过去,该是时候上代码了。 Pagination.Js: View Code /*Author:Kuse WuDate:2011-09-04 16:00:00Modified:2011-9-5 09:00:00Tips:说明文档:创建pagination对象参数说明。(json格式)totalCount:总记录数,必填。leftInterval: 当前页码左边相隔页码数。 默认值为:2rightInterval: 当前页码右边相隔页码数。 默认值为:3className:样式类名。默认为:yahoo2 子类命名规则: current prev next

JS(19)JS执行机制

你离开我真会死。 提交于 2020-02-02 06:41:54
1.JS执行机制 1.1.JS是单线程 -- JS语言的一大特点就是单线程,同一个时间只能做一件事。 -- 单线程意味着,所有任务需要排队,前一个任务结束,会执行后一个任务, 如果前一个任务耗时很长,后一个任务就不得不一直等着。 -- 这导致:如果JS执行的时间过长,这样就会造成页面的渲染不连贯,导致页面渲染加载阻塞的感觉。 1.2.同步任务和异步任务 -- 为了解决大拿县城带来的问题,利用多核CPU的计算能力,H5提出Web Worker标准, 允许JS脚本创建多个线程,但是子线程完全受主线程控制,于是JS出现了同步和异步任务。 1.2.1.同步 -- 前一个任务结束,结束后再执行后一个任务,程序的执行顺序与任务的排列顺序是一致的,同步的。 比如做饭的同步做法:烧水煮饭,等水开了(10分钟后),再去切菜,炒菜。 1.2.2.异步 -- 做一个花费时间的事情,在等待的同时,可以处理其他事情,比如做饭的异步做法:在烧水的同时,去切菜,炒菜。 本质区别:流水线上各个流程的执行顺序不同 1.3.JS中所有的任务可以分成两种,一种是同步任务,一种是异步任务。 1.3.1.同步任务指的是: 在主线程上排队执行的任务,只有前一个任务执行完毕,才能执行后一个任务 1.3.2.异步任务指的是: 不进入主线程,而进入“任务队列”的任务,当主线程中的任务运行完了,才会去从“任务队列

Js-w3school(2020.2.1)【js数据类型、js函数】

…衆ロ難τιáo~ 提交于 2020-02-02 05:57:33
六、js数据类型 1.JavaScript 变量能够保存多种数据类型:数值、字符串值、数组、对象等等: var length = 7; // 数字 var lastName = "Gates"; // 字符串 var cars = ["Porsche", "Volvo", "BMW"]; // 数组 var x = {firstName:"Bill", lastName:"Gates"}; // 对象 JavaScript 拥有动态类型。这意味着相同变量可用作不同类型 JavaScript 字符串值 字符串(或文本字符串)是一串字符(比如 “Bill Gates”)。字符串被引号包围。您可使用单引号或双引号 JavaScript 只有一种数值类型。写数值时用不用小数点均可 超大或超小的数值可以用科学计数法来写 var y = 123e5; // 12300000 var z = 123e-5; // 0.00123 布尔值只有两个值:true 或 false JavaScript 数组用方括号书写。数组的项目由逗号分隔。 var cars = ["Porsche", "Volvo", "BMW"]; JavaScript 对象用花括号来书写。对象属性是 name:value 对,由逗号分隔 var person = {firstName:"Bill", lastName:

Gulp前端构建前端开发环境

。_饼干妹妹 提交于 2020-02-02 05:53:21
一、下载并安装Node.js C:\Users\Administrator>node -v v11.0.0 二、安装npm,安装淘宝cnpm npm install -g cnpm --registry=https://registry.npm.taobao.org C:\Users\Administrator>cnpm -v cnpm@6.0.0 (C:\Users\Administrator\AppData\Roaming\npm\node_modules\cnpm\lib\parse_argv.js) npm@6.5.0 (C:\Users\Administrator\AppData\Roaming\npm\node_modules\cnpm\node_modules\npm\lib\npm.js) node@11.0.0 (C:\Program Files\nodejs\node.exe) npminstall@3.17.0 (C:\Users\Administrator\AppData\Roaming\npm\node_modules\cnpm\node_modules\npminstall\lib\index.js) prefix=C:\Users\Administrator\AppData\Roaming\npm win32 x64 10.0.17763