javascript
文章平均质量分 53
lala_shine
1111
展开
-
ajax中的withCredentials使用效果
XMLHttpRequest.withCredentials 有什么用?跨域请求是否提供凭据信息(cookie、HTTP认证及客户端SSL证明等)也可以简单的理解为,当前请求为跨域类型时是否在请求中协带cookie。XMLHttpRequest.withCredentials 怎么用?withCredentials属于XMLHttpRequest对象下的属性,可以对其进行查看或配置。查看withCredentials:var xhr = new XMLHttpRequest();xhr.ope转载 2021-12-16 20:12:12 · 762 阅读 · 0 评论 -
ajax、axios、fetch优缺点对比
1.jQuery ajaxAjax即“Asynchronous Javascript And XML”(异步 JavaScript 和 XML),是指一种创建交互式网页应用的网页开发技术。用法:$.ajax({ type: 'POST', url: url, data: data, dataType: dataType, success: function () {}, error: function () {}});本身虽然简单,但常常会涉及到一些问题:如转载 2021-12-10 14:53:33 · 515 阅读 · 0 评论 -
Fetch超时设置和终止请求
1.基本使用Fetch 是一个新的端获取资源的接口,用于替换笨重繁琐XMLHttpRequest.它有了Request 和 Response 以及Headers对象的概念,与后端语言请求资源更接近。一个简单的GET请求fetch('https://www.baidu.com') .then(resp=>resp.text()) // 转换成文本对象 .then(resp=>console.log(resp)) // 输出请求内容 .转载 2021-12-10 14:31:35 · 2524 阅读 · 0 评论 -
ES6-Array.from与Array.of
1、Array.from()方法就是将一个类数组对象或者可遍历对象转换成一个真正的数组。那么什么是类数组对象呢?所谓类数组对象,最基本的要求就是具有length属性的对象。(1)将类数组对象转换为真正数组:let arrayLike = { 0: 'tom', 1: '65', 2: '男', 3: ['jane','john','Mary'], 'length': 4}let arr = Array.from(arrayLike)console.log转载 2021-11-30 10:29:29 · 129 阅读 · 0 评论 -
vue中父组件调用子组件方法
父组件调用子组件方法,使用ref获取,代码如下://父组件<template> <div class="home"> <HelloWorld ref="mychild"></HelloWorld> <div @click="clickParent">click me</div> </div></template><script> import HelloWorld原创 2021-11-24 11:32:20 · 297 阅读 · 0 评论 -
Object.is()
ES5 比较两个值是否相等,只有两个运算符:相等运算符(两个“=”)和严格相等运算符(三个“=”)。它们都有缺点:前者会自动转换数据类型,后者的NaN不等于自身,以及+0等于-0。JavaScript 缺乏一种运算,在所有环境中,只要两个值是一样的,它们就应该相等。ES6 提出“Same-value equality”**(同值相等)**算法,用来解决这个问题。Object.is就是部署这个算法的新方法。它用来比较两个值是否严格相等,与严格比较运算符(===)的行为基本一致。Object.is('fo转载 2021-11-16 19:45:21 · 267 阅读 · 0 评论 -
js几种继承的方式
一、为什么要有JS继承假如每一个实例对象,都要有自己的属性和方法的副本。这不仅无法做到数据共享,也是极大的资源浪费。(这就和我们现实中会继承父母的资产一样,你是可以选择不继承的,但是浪费钱啊)二、JS继承的三种方式1.原型继承//构建一个父类 function Person(name) { this.name = name } //父类原型对象上添加一个函数sayHi Person.prototype.sayHi = function () {原创 2021-11-02 15:02:02 · 77 阅读 · 0 评论 -
js关于instanceof
1、js中的instanceof运算符instanceof运算符用来判断一个构造函数的prototype属性所指向的对象是否存在另外一个要检测对象的原型链上2、语法obj instanceof Object; //Object的构造函数是否存在于obj的原型链上3、描述instanceof 运算符用来检测 constructor.prototype 是否存在于参数 obj 的原型链上。4、实例(1)instanceof的普通的用法,obj instanceof Object 检测Obj原创 2021-11-02 11:50:10 · 493 阅读 · 0 评论 -
js中new一个对象的过程
介绍new一个对象的过程,示例代码如下:function ClassA(){ this.name = "123"}var p = new ClassA();1、 创建空对象; var obj = {};2、 设置新对象obj的constructor属性为构造函数的名称,设置新对象obj的__proto__属性指向构造函数的prototype对象; obj.proto = ClassA.prototype;3、 使用新对象调用函数,函数中的this被指向新实例对象: ClassA.原创 2021-11-02 10:36:07 · 4424 阅读 · 0 评论 -
html5 fetch API 的原理
1、说明fetch是基于原生的XMLHttpRequest对象来实现数据请求的。同时,fetch也是基于Promise实现链式调用的。那么,实现fetch的本质:就是实现ajax的封装以及Promise的实现。2、ajax的封装在原生的api中,XMLHttpRequest对象是封装ajax的核心。其最简单的封装步骤如下:function ajax(url,suc,fail) { var xhr = new XMLHttpRequest(); xhr.open('GET',url,转载 2021-10-29 17:47:38 · 377 阅读 · 0 评论 -
Eslint 超简单入门教程
Eslint 超简单入门教程目标学习完本教程希望对下面这个 .eslintrc.js 文件能够做到心里有数。// .eslintrc.js module.exports = { "extends": "airbnb", "rules": { "semi": [2, "never"], "no-console": 0, "comma-dangle": [2, "always-multiline"], "max-len": 0, "react/jsx-fi原创 2021-07-28 17:24:26 · 734 阅读 · 0 评论 -
去除数组中的重复元素
在一些场景中需要做到数组去重,下面从两种方法来介绍,一种是比较传统的,es6之前就已经出现的;另外一种是es6中的set()可以去除数组中的重复元素,下面我们列举出详细代码:第一种方法:(indexOf) //indexOf--数组去重 var array = [1,2,2,3,3,4]; var newArr = []; fo...原创 2018-07-13 11:13:35 · 1828 阅读 · 0 评论 -
将base64编码格式数据转化为图片
在前后台交互时,有时候会需要后台将图片先保存到后台数据库,然后前端需要的时候,直接从数据库读取Base64编码,返回给前端,下面我们通过一个例子一块看一下,因为没有后台代码,我们直接将一副图片存成Base64编码格式,赋值给一个字符串。。 代码如下所示(html部分):&lt;img id="img1" src="" style="width:200px; height: 200px...原创 2018-08-14 10:27:06 · 36897 阅读 · 0 评论 -
javascript中this对象的理解
在一般情况下,this对象指的是谁一般取决于函数被调用的方式,在js中,函数有4种调用方式:1.直接调用,在一般函数中使用this指代全局对象-window. function test(){ this.x = 1; alert(this.x); //此时的this为window对象 } test(); // 12.某个对象的方法调用,this指的是这个上级对...原创 2019-03-19 22:34:11 · 347 阅读 · 0 评论 -
javascript作用域及作用域链
从事web开发工作,尤其主要是做服务器端开发的,难免会对客户端语言JavaScript一些概念有些似懂非懂的,甚至仅停留在实现功能的层面上,接下来的文章,是记录我对JavaScript的一些概念的理解。欢迎大牛拍砖吐糟。1.变量作用域在JavaScript中全局变量的作用域比较简单,它的作用域是全局的,在代码的任何地方都是有定义的。然而函数的参数和局部变量只在函数体内有定义。另外局部变量的优先...转载 2019-03-20 10:50:57 · 130 阅读 · 0 评论 -
javascript中的原型和原型链
原型和原型链是js中的难点也是重点,明白了原型和原型链会让我们在后面不管是学习还是工作都会更加高效,并且原型和原型链会是面试中必不可少的话题。看完此篇文章一定会让你对原型,原型链有深刻全面的了解。深入系列:深入javascript之作用域深入系列:深入javascript之执行上下文 一,函数对象 ...转载 2019-03-20 14:05:36 · 133 阅读 · 0 评论 -
前端跨域解决方案
一、什么是跨域JavaScript出于安全方面的考虑,不允许跨域调用其他页面的对象。那什么是跨域呢,简单地理解就是因为JavaScript同源策略的限制,a.com域名下的js无法操作b.com或是c.a.com域名下的对象。当协议、子域名、主域名、端口号中任意一个不相同时,都算作不同域。不同域之间相互请求资源,就算作“跨域”。有一点必须要注意:跨域并不是...转载 2019-03-21 10:53:39 · 140 阅读 · 0 评论 -
javascript中substr()与substring()
1.substr() 方法可在字符串中抽取从 start 下标开始的指定数目的字符。2.substring() 方法用于提取字符串中介于两个指定下标之间的字符。实例代码如下: var string = "helloworld!"; var str1 = string.substr(3,4); //从索引3开始,指定长度为4 console.log(s...原创 2019-03-19 11:29:39 · 612 阅读 · 0 评论 -
js中的运算符&&和||
js中的逻辑判断符号&& || 用处很大1、基本用法if(a&&b){ //code...}如果a成立并且b也成立,则执行后面的代码if(a||b){ //code...}如果a或者b成立,则执行后面的代码2、&& ||也可以用来设置函数执行顺序先来看几个例子function a() { ...转载 2019-05-10 20:04:12 · 647 阅读 · 0 评论 -
js屏蔽掉调试时写的console.log
这属于代码级别的修改,重写console.log(),下面贴代码,有详细的注释: <script> var Debugger = function () { }; //开关,是否显示输出 Debugger.switch = true; Debugge...原创 2019-05-10 20:12:08 · 2716 阅读 · 0 评论 -
Javascript是单线程,浏览器非单线程
为什么JavaScript是单线程的却能让ajax异步发送和回调请求,还有setTimeout也看起来像是多线程的?还有non-blocking IO, event loop等概念很不清楚。Javascript是单线程的因为JS运行在浏览器中,是单线程的,每个window一个JS线程,既然是单线程的,在某个特定的时刻只有特定的代码能够被执行,并阻塞其它的代码。而浏览器是事件驱动的(Event ...转载 2019-06-14 20:04:39 · 688 阅读 · 0 评论 -
js中同步和异步的理解
你应该知道,javascript语言是一门“单线程”的语言,不像java语言,类继承Thread再来个thread.start就可以开辟一个线程,所以,javascript就像一条流水线,仅仅是一条流水线而已,要么加工,要么包装,不能同时进行多个任务和流程。那么这里说的同步和异步到底是什么呢?如果你真的不懂,我希望你认真读完这篇文章。其实我个人觉得js官方的文档在使用两个词的时候并不准确,包括...转载 2019-06-14 20:08:41 · 309 阅读 · 0 评论 -
原生js中关于array的方法--pop()和push()
最近开始迷恋上了官网的一些东西,感觉从官网上面学习,不仅对自己的英语技能有一定的锻炼,并且可以防止少走一些弯路,尽管自己的英文翻译能力有待提高,看别人翻译过来的文章在某个层面上可以会对自己产生一定的误导,所以今天起开始从官网上学习一些新的技术。。 首先想要接触ES6,我先看了javascript的一些介绍。在array对象中有两个方法pop()和push(),如果是让我去面试的话,基原创 2017-12-05 22:41:36 · 3984 阅读 · 0 评论 -
js数组中关于filter()、map()、some()、every()、forEach()
filter(): 语法:var filteredArray = array.filter(callback[, thisObject]); 参数说明:callback: 要对每个数组元素执行的回调函数。th...转载 2018-07-12 11:24:30 · 268 阅读 · 0 评论 -
javascript实现拖拽弹框高度,可调节弹框大小
1.页面刚开始加载时弹框高度比较小,但是因为数据的缘故,如果要看清全部的数据,只能给弹框的高度设置高一些,因为这就要求弹框的高度可以拖拽,实现代码如下:(原生js实现)HTML代码:<div id="drag"> <div class="resizeT"></div></div>CSS代码:body{ ...原创 2018-06-21 17:28:50 · 3414 阅读 · 0 评论 -
javascript中的严格模式
javascript中的严格模式是一种特殊的执行模式,它修复了部分语言上的不足,提供更强的错误检查,并增强安全性原创 2017-12-11 16:37:55 · 217 阅读 · 0 评论 -
javascript中不常见的运算符
ECMAScript 中的运算符原创 2017-12-07 17:52:05 · 283 阅读 · 0 评论 -
javascript检测数据类型的5种方法
数据类型检测原创 2017-12-07 10:51:02 · 556 阅读 · 0 评论 -
javascript的数据类型and隐式转换
1.javascript的数据类型--6种 这几种数据类型分别是Number、String、Boolean、Null、Undefined(5种基本的数据类型),另外一种复杂的数据类型是Object,之前一直以为复杂的数据类型还有Array,没想到一直都是错误的理解,typeof Array得到的值为Object,所以Array也是一种对象类型。2.javascript中几种数据原创 2017-12-06 15:38:59 · 124 阅读 · 0 评论 -
js包装对象
包装对象原创 2017-12-06 15:58:04 · 238 阅读 · 0 评论 -
javascript中的对象序列化
JavaScript对象表示法(JavaScript Object Notation,简称JSON)是一种轻量级的数据交换格式,它基于js字面量表示法,是js的一个子集。虽然是一个js的子集但是他与语言无关,它可以用于在现在所有的编程语言编写的应用程序之间进行数据交换。原创 2017-12-20 15:56:07 · 1664 阅读 · 0 评论 -
js拖动弹框在页面移动,不出屏幕边界
鼠标拖动弹框不出浏览器的边界原创 2017-12-08 17:31:07 · 6287 阅读 · 1 评论 -
深入理解JQuery中$.get()、$.post()、$.getJSON()、$.ajax()方法
本文重点是来讲讲jQuery中调用ajax的4种方法:.get、.get、.post、getJSON、转载 2017-12-08 16:48:00 · 193 阅读 · 0 评论 -
javascript中的可枚举属性与不可枚举属性
JavaScript中的可枚举属性与不可枚举属性原创 2017-12-18 10:26:03 · 361 阅读 · 0 评论 -
javascript中改变this的指向
在 javascript 中,call 和 apply 都是为了改变某个函数运行时的上下文(context)而存在的,换句话说,就是为了改变函数体内部 this 的指向。 JavaScript 的一大特点是,函数存在「定义时上下文」和「运行时上下文」以及「上下文是可以改变的」这样的概念。原创 2018-01-02 10:51:38 · 2808 阅读 · 0 评论 -
深入理解js中的闭包
闭包(closure)是Javascript语言的一个难点,也是它的特色,很多高级应用都要依靠闭包实现。一、变量的作用域 要理解闭包,首先必须理解Javascript特殊的变量作用域。 变量的作用域无非就是两种:全局变量和局部变量。 Javascript语言的特殊之处,就在于函数内部可以直接读取全局变量。 var n=999; function f1(){ alert(n原创 2018-01-10 15:31:43 · 149 阅读 · 0 评论 -
javascript本地上传并解析excel文件
通常,一般读取Excel都是由后台来处理,不过如果需求要前台来处理,也是可以的。在做一个测试案例,页面加载网格地图的时候,为了避免与后端服务器的交互,需要本地上传Excel文件,然后根据上传文件的内容,将对应网格的属性加载显示到地图上,代码如下所示: 1.需要用到插件js-xlsx,下载地址:js-xlsx 2.demo:&amp;lt;!DOCTYPE html&amp;gt;&amp;lt;html&amp;g...原创 2018-04-17 10:31:34 · 10005 阅读 · 4 评论 -
querySelector操作dom的用法
获取元素DOM对象有很多种方法,以前一直在用getElementById和getElementsByTagName等,现在对这些方法和querySelector做一个总结: 常见的获取元素的方法有3种,分别是通过元素ID、通过标签名字和通过类名字来获取。 1.DOM提供了一个名为getElementById的方法,这个方法将返回一个与之对应id属性的节点对象,它是document对象特有的函...原创 2018-04-09 10:54:50 · 3681 阅读 · 2 评论 -
如何实现图片的异步加载
1.概述异步加载:也称为图片的预加载。利用js代码提前加载图片,用户需要时可以直接从本地缓存获取,但是会增加服务器前端的压力。这样做可以提高用户的体验,因为同步加载大图片的时候,图片会一层一层的显示处理,但是经过预加载后,直接显示出整张图片。但是在图片响应时间上优化不是那么明显。2.基本形式<script> function loadImage(id,u...原创 2018-03-06 15:46:15 · 7840 阅读 · 1 评论 -
js清除缓存的几种方法
一、CSS和JS为什么带参数(形如.css?t=与.js?t=)怎样获取代码css和js带参数(形如.css?t=与.js?t=) 使用参数有两种可能: 第一、脚本并不存在,而是服务端动态生成的,因此带了个版本号,以示区别。 即上面代码对于文件来说 等价于 但浏览器会认为他是 该文件的某个版本! 第二、客户端会缓存这些css或js文件,因此每次升级了js或css文件后,改变版本号,客户端浏览器就会...原创 2017-09-29 10:51:34 · 3881 阅读 · 1 评论