JavaScript
文章平均质量分 64
PromiseXuu
别作妖
展开
-
函数节流/函数防抖/requestAnimationFrame
函数节流函数节流:每个固定的时候之内,函数只执行一次 //代码实现 window.onload = function () { let flag = false; document.getElementsByTagName('body')[0].onscroll = function () { if(flag){ return; } ...原创 2018-07-14 23:52:30 · 1418 阅读 · 0 评论 -
ES6之遍历器 iterator && generator
工作机制创建一个指针对象,指向数组的初始位置调用next方法,对数组逐个进行遍历遍历结果的返回值是一个对象,这个对象中包含两个属性,value和done当遍历没有结束,对象返回的结果为:{value: 当前遍历对象的下标, done: false}遍历结束以后,对象返回的结果为:{value: undefined, done: true}结束后,不对此时的value值进行处理function ma...原创 2018-07-12 11:48:36 · 360 阅读 · 0 评论 -
ajax发送请求的一般步骤
ajax发送请求的一般步骤:`function sendXml(url) {//1、创建XMLHttpRequest实例对象 var xmlHTTP = new XMLHttpRequest();//2、创建链接并设置请求方式:一共四种请求方式,get post put propfind xmlHTTP.open('post',url);//3、发送请求 xmlHTTP.send...原创 2018-07-09 14:52:56 · 1008 阅读 · 0 评论 -
break、continue与return三者的作用与区别
1、break:直接跳出语句,后面的语句不在执行,不能跳出函数。 var i=0; var sum=0; while (i<100){ i++; if(i===5){//如果是break,直接跳出循环,不在执行。i最终返回的结果为5,sum=10 break; } sum+=i;...原创 2018-03-18 16:52:34 · 746 阅读 · 0 评论 -
前端下载后端Blob流文件
后端返回的数据在network的preview中,是一堆码。download () { axios({ method: 'get', url: baseUrl, //baseUrl是后端给你的下载的接口地址 //看后台规定的类型,responseType属性根据你的实际情况确定 responseType: 'arraybuffer' }).then(res => { //假设返回的数据在res原创 2020-06-11 16:18:47 · 792 阅读 · 0 评论 -
面试遇到事件循环怎么回答
async function async1(){ console.log('async1 start') await async2() console.log('async1 end')}async function async2(){ console.log('async2')}console.log('script start')setTimeout...原创 2019-12-11 15:25:57 · 426 阅读 · 4 评论 -
setInterval与setTimeout的区别
setInterval与setTimeout是js中常见的两个定时器,两者之间都有什么区别呢?setTimeoutsetTimeout表示设置一个定时器,在多少秒以后执行这个函数或者代码,只执行一次,返回的是timeoutID(定时器编号),这个值可以传递给clearTimeout()来取消定时器。语法:var timeoutID = timer2.setTimeout(func...原创 2018-05-15 21:30:40 · 424 阅读 · 0 评论 -
闭包是什么?
是什么?当一个嵌套的内部函数引用了外部函数的变量或者函数时,外部函数在执行时就产生了闭包典型的闭包将另一个函数作为另一个函数的返回值function Foo() { var a=0; function foo() { a++; console.log(a); } return foo;}var f=Foo();...原创 2018-05-22 19:27:09 · 1084 阅读 · 0 评论 -
JS预解析是什么?
今天看了几道经典的面试题,其中有一道JS预解析的面试题,做错了,今天拿过来分析一下。 var a = {n: 1} var b = a a.x = a = {n: 2} console.log(a.n, b.n) // ? ? 2 1 console.log(a.x, b.x) // ? ? underfined {n: 2}在执行 a.x = a = {n: 2}中产生了疑问...原创 2018-07-09 19:12:23 · 4996 阅读 · 2 评论 -
线程与线程机制
一、JS代码是单线程的?定时器执行时候是在主线程中执行的 定时器回调函数只能在主线程中代码执行完毕后在进行执行二、为什么JS是单线程的不是多线程?这与他的用途有关,JS作为浏览器脚本语言,主要用途是与用户互动,以及操作DOM。 这决定了它只能是单线程,否则会带来很复杂的同步问题三、H5中关于JS分线程,叫做Web Workers事件循回模型所有代码分类 初始化执行代码(同...原创 2018-07-09 23:43:08 · 535 阅读 · 0 评论 -
二级联动-js版
前注:本文依据《利用JavaScript来实现省份—市县的二级联动》中的数据自己又稍做了改动,如有侵权,马上删除。废话不多,直接上代码1、引入js文件,导入所需要的数据:data.js//省份var provinceArr = [];provinceArr[0] = ['北京市'];provinceArr[1] = ['天津市'];provinceArr[2] = ['上海市...原创 2019-02-13 10:21:43 · 759 阅读 · 0 评论 -
时间戳转换成年月日时分秒得形式
timeFormatter(timeStamp){ let time = new Date(timeStamp); var year = time.getFullYear(); var month = time.getMonth()+1; var date = time.getDate(); var hours = time.getHours()...原创 2019-03-14 16:43:19 · 2658 阅读 · 0 评论 -
this是什么?
是什么?this关键字是JavaScript中最复杂的机制之一。是一个特别的关键字,被自动定义在各个函数作用域中* 需要明确的是,this既不指向函数自身也不指向函数的词法作用域* 所有函数内部都有一个this* this实际上是在函数被调用时发生绑定,指向谁完全取决于函数在哪里被调用---以上《你不知道的JavaScript上》this的绑定规则默认绑定 window...原创 2018-05-20 11:30:07 · 531 阅读 · 0 评论 -
值传递和引用传递
关于引用变量的赋值问题1、###2个引用变量指向同一个对象, 通过一个引用变量修改对象内部数据, 另一个引用变量也看得见* 例如:* var a = {* n: 123* }* var b = a;* a.n = 456;* console.log(b.n); //456工作图例:###2个引用变量指向同一个对象,让一个引用变量指向另一个对象, 另一个引用变量还是...原创 2018-05-19 23:51:02 · 257 阅读 · 0 评论 -
JavaScript购物车初成,未完结
Title table { border-collapse: collapse; } /*定义td的样式*/ td { width: 100px; height: 30px; li原创 2018-03-20 00:11:25 · 351 阅读 · 0 评论 -
数组的方法以及二维数组
1、contcat作用:concat() 连接两个或更多的数组,并返回结果。主要作用有三个:(1)连接两个或者多个数组var arr1=[1,2,3,4,5]; var arr2=[6,7,8,9,0]; var arr=arr1.concat(arr2); console.log(arr);打印结果:(2)用来复制数组,产生一个新的数组...原创 2018-03-20 23:53:50 · 883 阅读 · 1 评论 -
移动端项目需要注意的事项-音乐台和相册小项目总结
###meta标签 <meta name='viewport' content='width=device-width,initial-scale=1.0,user-scalable=no'/> ###默认样式清除 html,body,h1,h2,h3,h4,h5,h6,p,span,div,ul,li,a,img{margin: 0;padding: 0;} ul{list-...原创 2018-05-14 00:09:44 · 238 阅读 · 0 评论 -
JavaScript基础:用循环写一个九九乘法表
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title></head><body><script&am原创 2018-03-18 16:18:30 · 3606 阅读 · 0 评论 -
JavaScript基础想demo:比较两个数的大小
<script> <!--定义一个函数,参数定义为num1和num2--> function numMaxMin(num1,num2) {// 执行if判断语句,如果第一个数大于第二个数,返回第一个数// 如果第二个数大于第一个数,返回第二个数 if(num1>num2){ ret...原创 2018-03-18 19:21:50 · 1494 阅读 · 2 评论 -
JavaScript基础小demo:用函数将字符串倒序输出
1、不用参数:var str="abcdef";// 定义str1为空字符,左右的结果都加载str后// 注意,str1一定要在函数调用前定义 var str1="";// 调用函数 stringReve();// 函数 function stringReve() {// 循环满足的条件:当i的值小于所求字符串的长度-1时,i...原创 2018-03-18 19:07:39 · 1519 阅读 · 0 评论 -
JS基础知识小结
JS基础23-Unicode编码表注意:原16进制console.log("\u2620");转为10进制:☠ JS基础24-相等运算符==相等!=不相等===全等!==不全等注意:1、 相等不等于全等2、 前两者会自动做类型转换,转化为相等类型在进行比较。3、 全等不会自动做类型转换。4、 NaN和任何值都不相等,使用的时候可原创 2017-12-27 16:42:37 · 213 阅读 · 0 评论 -
JS运算
JS视频-14转换为Boolean使用Boolean()函数:1、 数字有关:除了0和NaN,其余都是true2、 字符串:除了空串,其余都为true3、 Null和undefined都转换为false4、 对象object转换为true JS视频-15算术运算符包括+—*/ %(取模,表示取余数)1、 除了+法运算符,与字符串相加,都是转换为numb原创 2017-12-26 17:36:06 · 301 阅读 · 1 评论 -
JavaScript基础数值类型与进制
JS视频02-常用1、 alert("这是我的第一行JS代码"); 从窗口弹出2、 console.log("你不是猪") 从控制台输出3、 document.write("你是猪吗?") 从窗口输出 JS视频07-字符串代码示例:知识点一://1、\“表示“ //2、\’表示‘原创 2017-12-25 17:10:29 · 340 阅读 · 0 评论 -
iOS下 移动端多指事件
一 iOS下 移动端多指事件包括:注:1 Android下模拟多指事件var callback = { start:function(){ box.style.background = 'pink' }, change:function(){ box.innerHTML += 'change<br />' }, end:function()...原创 2018-05-12 13:05:23 · 631 阅读 · 0 评论 -
基本数据类型
(一)数据类型数据类型分为六种: String: 任意文本 Number: 任意数值 Boolean: true/false undefined: undefined null: null 对象 Object: 一般的对象类型 Array: 数组也是一种对象 Function: 函数 undefined与null的区别?null代表为空,...原创 2018-05-18 23:46:17 · 210 阅读 · 0 评论 -
数据、内存以及变量三者的关系/JavaScript内存的管理
数据是什么 本质为二进制 特点 可读 可传递 b=a 注意:万物皆数据,函数也是数据 内存是什么? 内存条通电后产生的存储空间(临时) 产生:通电;结束:断电 栈主要存储 基本变量、占用内存小 堆主要存储 引用、地址 对象,占用空间大变量是值可以变化的量数据、内存、变量三者的关系* 赋值操作传递的是地址值* 变量保存的是基本变量类型* 对象...原创 2018-05-19 23:48:45 · 753 阅读 · 0 评论