JavaScript
炸鸡大叔
怀精英之梦想,造草根之大道。
展开
-
合并两个升序的数组并且去重的方法
function arrConcat (arrA, arrB) { const res = [], dir = {}; let pointerA = 0, pointerB = 0; while (pointerA < arrA.length && pointerB < arrB.length) { let temp; //将较小的值推到栈中 if (arrA[pointer.原创 2021-01-15 17:06:18 · 717 阅读 · 3 评论 -
vue版公共请求方法
import axios from "axios";import Qs from "qs";import API_BASE_URL from "@/api/api.js";const Http = axios.create({ baseURL: API_BASE_URL, timeout: 6000, // 设置超时时间6s withCredentials: true, // cross-site Access-Control});// 设置post请求头Http.default.原创 2021-01-12 18:33:32 · 783 阅读 · 0 评论 -
promise.all&&race
Promise.all()Promise.all() 它接收一个promise对象组成的数组作为参数,并返回一个新的promise对象。当数组中所有的对象都resolve时,新对象状态变为fulfilled,所有对象的resolve的value依次添加组成一个新的数组,并以新的数组作为新对象resolve的value。当数组中有一个对象reject时,新对象状态变为rejected,并以当前对象reject的reason作为新对象reject的reason。Promise.all = fun原创 2021-01-04 10:59:12 · 132 阅读 · 0 评论 -
浏览器缓存
浏览器的缓存机制对于前端性能优化来说是一个非常重要的环节,浏览器的缓存主要分为两类:强缓存和协商缓存,下面我们将分别介绍下这两种缓存:强缓存浏览器在发起http请求时首先检查的就是强缓存,该缓存机制中是不需要发送请求的,主要是通过携带字段确认实现,在早期的http1.0阶段是通过Expires字段,后来的http1.1z中使用Cache-Control字段;ExpiresExpires是指...原创 2020-04-01 21:45:30 · 210 阅读 · 0 评论 -
JS 字符串
字符串字符串可以包含在单引号,双引号,反引号之中:let a = 'hello';let b = 'world';let c = `hello world`;复制代码单引号和双引号其实功能是一样的,反引号可以允许我们通过${...}将表达式嵌入到字符串中,比如:function sum(a,b){ return a+b;}console.log(`sum(1,...原创 2020-03-20 19:58:13 · 227 阅读 · 0 评论 -
聊一聊JS的跨域
聊一聊JS的跨域1.什么是跨域?聊到跨域就不得不先聊一下浏览器的同源策略,为什么这么说呢,因为正是由于浏览器的同源策略才出现的跨域。同源策略,它是Netscape提出的一个著名的安全策略。所谓同源是指,域名,协议,端口相同。当一个浏览器的两个tab页中分别打开两个不同的页面,在发送请求的时候服务器首先会检查是否同源,如果非同源,那么在请求数据时,浏览...原创 2019-02-13 15:44:54 · 184 阅读 · 0 评论 -
前端挑战之js编程题(2)
题目要求:实现对一个现有的数组去除重复元素,并返回去除重复元素的数组。方案:var arr1=[1,2,3,1,4,5,3,6]arr2=[]for(var i=0,len=arr1.length;iif(arr2.indexOf(arr[i])arr2.push(arr[i]);}}cons原创 2017-07-09 20:13:54 · 679 阅读 · 0 评论 -
前端挑战之js编程题(1)
题目要求:查找两个节点的最近的一个共同的父节点,可以包括节点自身。思路:看到题目要求,首先应该想到有三种情况,有两个节点,dom1和dom2:1、dom1为dom2的最近父节点,判断dom1是否包含dom2节点,包含则返回dom1,不包含继续向下运行。2、dom2为dom1的最近父节点,判断dom2是否包含dom1节点,包原创 2017-07-07 11:47:15 · 887 阅读 · 2 评论 -
前端挑战之js编程题(1)
题目要求:封装函数 f ,使 f 的 this 指向指定的对象思路:看到题目要求,首先应该想到js 中改变this 指向的三个方法 (bind , apply ,call),这样就能够解决该问题了。方案1:function bindThis(f,oTarget){return function (){return f.apply(oTarget,argument原创 2017-07-05 22:08:31 · 1759 阅读 · 2 评论 -
JS之事件委托
前段时间去了慕课网面试前端开发,面试官当时问了我一个关于事件委托的问题,当时一脸蒙逼,心里在想什么鬼,好像都没听过啊,后来回来后赶紧查了一下资料,才知道原来事件委托是js中的经典问题啊,当时那个后悔啊,说多了都是泪啊。当时就看了一下事件委托,大致对此有了了解,感觉就懂了事件委托。今天一个师哥去美团面试,又被问到了事件委托的问题,当时听他讲了下问的问题,我的心瞬间崩溃了,还是感觉对此一无所知,所以今原创 2017-07-04 21:56:17 · 1396 阅读 · 6 评论 -
Javascript之函数(基础篇)
1 初步认识函数1 2 console.log("你好");3 sayHello(); //调用函数4 5 //定义函数:6 function sayHello(){7 console.log("欢迎");8 console.log("welcome");9 }10 11 函数,是一种封装。就是将一些语句,封装到函数里面。通过原创 2017-06-12 12:42:02 · 625 阅读 · 0 评论 -
浅谈js之闭包
什么是闭包(closure),为什么要用它?闭包的概念:闭包是指有权访问另一个函数作用域中变量的函数,创建闭包的最常见的方式就是在一个函数内创建另一个函数,通过另一个函数访问这个函数的局部变量,利用闭包可以突破作用链域,将函数内部的变量和方法传递到外部。闭包的特性:1.函数内再嵌套函数2.内部函数可以引用外层的参数和变量3.参数和变量不会被垃圾回收机制回收。闭包的经原创 2017-07-03 09:18:29 · 755 阅读 · 0 评论 -
JavaScript之运算符
1 布尔值数值型里面的值,有无穷多个,因为世界上所有的数字,都是数值型;字符串型的值,有无穷多个,因为世界上所有的文字、语句都是字符串型;布尔类型的值,就两个,true、false。true 真false 假1var a = true;2var b = false;3console.log(a); //输出4console.log(b); //输出原创 2017-06-11 14:56:21 · 701 阅读 · 0 评论 -
js对象篇(二)
js的Math对象*数学的运算** 里面都是静态方法,可以直接使用Math.方法()- ceil(x):向上舍入- floor(x):向下舍入- round(x):四舍五入- random(): 得到随机数- pow(x,y): x的Y次幂js的bom对象**bom :broswer object model :浏览器对象模型*** naviga原创 2016-11-06 20:20:22 · 1038 阅读 · 0 评论 -
js实现window 弹窗小案例
首先大家先看一下这个小案例的效果图,可能大家刚看到下面这张效果图的时候有点小小的疑惑,小编在这向大家解释下,所谓的window弹窗事件就是在图片的左边有个选择按钮,当我们点击该按钮时候就会弹出右边的图片,在右边的图片大家可以根据自己的喜号去选择左边文本框中要填充的内容,比如一点击102编号所对应的选择,在左边文本框就会填充该选择的内容。下面给大家讲解下怎么去实现这个弹窗小案例:首先原创 2016-11-07 09:41:23 · 8050 阅读 · 1 评论 -
关于JS的重载
首先讲一下什么是重载?重载的定义是指函数的方法名相同,但参数不同。比如我写两个关于js的同名函数:输出结果为NaN 9,这就说明后面的函数把前一个同名函数覆盖掉了,从而可以得出js函数不存在重载,永远调用最后一个方法。虽说JS函数不存在重载,但是我们可以实现js里面的模拟重载,接下来见证奇迹的时刻到了。要想实现js模拟重载必先回用到 arguments.用来存放js参数。实现方法如下原创 2016-11-08 19:13:41 · 7485 阅读 · 0 评论 -
生成表格实现
首先跟大家扯会谈,说一下最近分享中遇到的一件小的不能再小的事。虽说在我看来是比芝麻还小的事,却让我不禁有些感慨。事情是这样的,今天照常为大家分享初学者经验的时候,登录csdn就看到了有通知,说有人评论了我的分享,甚是惊喜,点进去一看才知道是惊吓,昨天有人评论了我分享的简易计时器的实现,评论中说到这样的文章怎么也能出现在首页呢。在这我想说的是为什么这样的文章就不能出现在csdn?不是谁一出生就是大神原创 2016-11-16 17:22:26 · 507 阅读 · 0 评论 -
简易时间计时器的实现
我觉得很多人看了我写的东西后觉得会很简单,心里肯定会想这么简单的东西还拿出来发布,真是够low。我只想说是这个虽然在你们眼里很简单,但对于初学者来说,这就是基础教学,而且是实战的教学,有人会问为什么你就不能发点复杂的程序设计呢,因为我也是初学者,哈哈。在此就不跟大家扯淡了,先看一下我们今天要做的实战练习。首先先看一下实战效果:其实呢,这个时间是动态时间,一直在走动的时间,只是由于效果截原创 2016-11-14 16:50:39 · 2688 阅读 · 6 评论 -
下拉列表的左右选择的实现
今天为大家分享的是下拉列表的左右选择的实现,首先先看一下效果图:首先给大家解释下以上看到的效果图:第一副是初始效果,第二幅是我我 选中了左边的语文和英语,然后点击选中添加到右边的效果图,第三幅是我直接点击了全部添加到右边按钮实现的效果,相信大家看到这就能明白效果图的含义了。至于点击选中添加到左边和全部添加到左边按钮想必大家也能想象到了,大家感兴趣的可以自己写一个实现看下效果,以下为大家原创 2016-11-15 17:58:09 · 2141 阅读 · 0 评论 -
全选/全不选功能的实现
先看下效果图:实战代码如下:原创 2016-11-22 13:03:26 · 463 阅读 · 1 评论 -
js中字符串和数组的常用操作
js中字符串的操作1、length获取字符串长度var str = "hello world";alert(str);2、索引通过下标获取字符串指定位置的字符,但是不能改变该索引对应的值var str = "hello world"alert(str[0]);str[0] = "H";//不会影响str,但也不会报错3、toUpperCa原创 2017-06-17 20:58:30 · 1448 阅读 · 0 评论 -
js之页面渲染
今天给大家总结一下浏览器渲染的机制,页面渲染就是浏览器的渲染引擎将html代码根据CSS定义的规则显示在浏览器窗口中的过程。大致工作原理如下:用户输入网址,浏览器向服务器发出请求,服务器返回html文件;渲染引擎开始载入html代码,并将HTML中的标签转化为DOM节点,生成DOM树;如果引用了外部css文件,则发出css文件请求,服务器返回该文件;原创 2017-06-21 09:26:54 · 12148 阅读 · 0 评论 -
初识JavaScript(基础篇)
1 程序书写的位置在页面中,”text/javascript”>标签对儿,里面就是书写JavaScript程序的地方。 1 2 3 text表示什么?纯文本。没错,JavaScript也是一个纯文本的语言。 2 alert语句学习第一个语句,就是alert语句。1 2 alert("今天天气真好"原创 2017-06-09 23:36:00 · 610 阅读 · 1 评论 -
初识JavaScript(基础篇二)
变量1 整体感知初中的时候,学习了一个学科“代数”,x、y、z、a、b、c。计算机的程序中,也是有这样的量,就是用字母来表示数字、字符串等其他东西的,称为“变量”。 1 var a = 100;2 console.log(a); var a = 100;这就是一个固定的写法,就是语法。也就原创 2017-06-10 13:51:12 · 795 阅读 · 0 评论 -
JS之预编译
今天有幸获得腾讯的电话面试,不幸的是面试非常惨,但是从中认识到自己的不足和找到日后该努力的方向,就拿面试中的关于js的预编译来说吧,小编都不知道是啥,面试完后赶紧查资料,写总结。首先javascript是解释型语言,自然就是编译一行,执行一行。js运行过程分为三步:1、语法分析 2、预编译 3、解释执行语法分析就是指js引擎去判断检查你的代码是否存在语法错误,解释执行更不用多说,自然就是原创 2017-07-02 11:38:49 · 3069 阅读 · 2 评论 -
JS 对象篇(一)
1.js的String 对象**创建string对象** var str="asc";**方法和属性**属性 length:字符串的长度** 方法(1)与html有关的方法-bold():字符串加粗-fontcolor():字符串的颜色设置-fontsize():设置字符串大小尺寸-link():将字符串显示为超链接-sub():下标 -sup():上原创 2016-11-05 21:48:13 · 429 阅读 · 0 评论