自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 收藏
  • 关注

原创 let和const以及var的区别,箭头函数和普通函数的区别

*1.let和const以及var的区别,什么是变量提升,什么是暂时性死区? *区别:let具有块级作用,不能重复声明可以重复赋值const具有块级作用域,不能重复声明 不能重复赋值var全局作用域,可以重复声明,可以重新赋值暂时性死区:就是在块级作用域内使用let声明了变量,这个变量不受外部影响变量提升:事先声明变量,然后在赋值2.箭头函数和普通函数的区别????? 普通函数是很早就提出的,而箭头函数是es6提出的,他们两个在语法上不一样,并在普通函数与箭头函数他们this的指向也不

2021-01-08 19:00:46 142 1

原创 ES6新增Symbol浅谈

Symbol是es6新增的原始数据类型Symbol,表示独一无二的值,最大的用法是定义对象的唯一属性名Symbol函数栈不能用new命令,因为Symbol是原始数据类型,不是对象,可以接受一个字符串作为参数。let sy = Symbol("KK");console.log(sy); // Symbol(KK)typeof(sy); // "symbol" // 相同参数 Symbol() 返回的值不相等let sy1 = Symbol("kk"); sy === sy1

2021-01-08 18:58:49 132

原创 2020-12-23

什么是数组扁平化?*数组扁平化就是将一个多维数组转换为一个一维数组实现基本方式*、对数组的每一项进行遍历。2、判断该项是否是数组。3、如果该项不是数组则将其直接放进新数组。4、是数组则回到1,继续迭代。5、当数组遍历完成,返回这个新数组。.常规方式 递归处理Array.prototype.flatten = function () { var resultArr = []; var len = this.length; for (var i = 0; i < len...

2020-12-23 21:43:57 84

原创 javascript原型和原型链

1.prototype每个函数都有一个prototype属性,被称为显示原型。2._ proto _每个实例对象都会有 _ proto 属性,称为隐式原型每一个实例对象的隐式原型 _ proto_ 属性指向自身构造函数的显示原型prototype3.constructor每个prototype原型都有一个constructor属性。指向它关联的构造函数4.原型链获取对象属性时,如果对象本身没有这个属性,那就会去他的原型__proto__上去找,如果还查不到,就去找原型的原型,一直找到最顶层

2020-12-23 20:19:06 74

原创 for···in和for···of的区别

for ···in和for···of的区别1.从遍历数组的角度来说,for ···in遍历出来的是key即下标,for···of遍历出来的是value即数组的值代码如下:var arr = [99,88,66,77];for(let i in arr){ console.log(i); //0,1,2,3}for(let i of arr){ consoel.log(i); //99,88,66,77}2.从遍历字符串的角度来说,同数组一样3.从遍历对象的角度来

2020-12-23 19:16:50 188 1

原创 Ajax的原生写法

ajax步骤1,创建异步XMLHttpRequest对象2,打开连接3,发送请求4,获取响应数据代码如下var xhr ; //创建ajax对象if(window.XMLHttpRequest){ //兼容IExhr = new XMLHttpRequest();}else{ xhr = new ActiveXObject("Microsoft.XMLHTTP");}xhr.open("get",url,true); //建立连接xhr.send(); //发送

2020-12-22 21:03:58 101

原创 js预解析和数据类型基本判断

JS预解析JS运行时会将内部先把带有var和function关键字的声明提升到当前作用域的最顶端,var 定义的变量预设为undefined,function设为函数字符串函数的预解析优先级要比用 var 声明的变量优先级高函数内部也会进行预解析 alert(a);//输出函数a var a= 100; function a () { console.log("hello") }//函数内部的预解析function fn(){ console.log(a);//输出函数

2020-12-18 21:52:31 107 1

原创 2020-12-18

判断数据类型的方法1:typeof:基本数据类型没有问题,引用数据类型有问题。2: instanceof:基本数据类型会有问题,而引用数据类型没有问题。//基本数据类型console.log("1" instanceof String); //falseconsole.log(1 instanceof Number); //falseconsole.log(true instanceof Boolean); //false//引用数据类型console.log([] instanceof

2020-12-18 21:51:32 71 1

原创 浅拷贝,深拷贝的理解

深拷贝和浅拷贝浅拷贝:浅拷贝是将对象的每个属性进行依次复制,当对象的属性值是引用类型,实质复制的是其引用,指向的值改也会跟着变化,浅拷贝只拷贝一层深拷贝:深拷贝复制变量值,对于非基本类型的变量,则递归至基本类型变量后,在复制,深拷贝后的对象与原来的对象是完全隔离的,互不影响,深拷贝是层层拷贝浅拷贝代码操作:简单的Object.assign()拷贝方法://Object.assign()拷贝方法 //拷贝{ } a = {name:"张三"}; b = O

2020-12-18 20:34:37 58

原创 值得一看的前端面试题~手写代码篇

前端面试题~手写代码篇深拷贝function deepClone(obj) { var result = Array.isArray(obj) ? [] : {}; for (var key in obj) { if (obj.hasOwnProperty(key)) { if (typeof obj[key] === 'object' && obj[key]!==null) { result[key] = deepClon

2020-11-26 11:29:41 471

原创 前端面试题~css篇

面试题之css篇 ????盒模型盒模型由 margin + border + padding + content 四个属性组成W3C的标准盒模型width = content,不包含 border + paddingIE盒模型width = border + padding + content相互转换二者之间可以通过CSS3的 box-sizing 属性来转换。box-sizing: content-box 是W3C盒模型box-sizing: border-box 是IE盒模型垂直居

2020-11-26 11:14:33 70

原创 html+css~基础篇(一)

标签分类和特性:快元素:div、p、h1-h6、ul、ol、li 独占一行 能直接设置宽行内元素:a、span、i、em *可以和别的行内元素占一行、不能直接设置宽高,能设置水平margin,不能设置垂直 margin行内块元素: img、input img、input选择器:id选择器、类选择器、后代选择器、子集选择器、标签选择器、并集选择器!important ∞无穷大 > 内联样式 1000 > id选择器 100 > 类选择器 10 > 标签选择

2020-11-26 10:40:26 184 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除