- 博客(12)
- 收藏
- 关注
原创 let和const以及var的区别,箭头函数和普通函数的区别
*1.let和const以及var的区别,什么是变量提升,什么是暂时性死区? *区别:let具有块级作用,不能重复声明可以重复赋值const具有块级作用域,不能重复声明 不能重复赋值var全局作用域,可以重复声明,可以重新赋值暂时性死区:就是在块级作用域内使用let声明了变量,这个变量不受外部影响变量提升:事先声明变量,然后在赋值2.箭头函数和普通函数的区别????? 普通函数是很早就提出的,而箭头函数是es6提出的,他们两个在语法上不一样,并在普通函数与箭头函数他们this的指向也不
2021-01-08 19:00:46
178
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
156
原创 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
103
原创 javascript原型和原型链
1.prototype每个函数都有一个prototype属性,被称为显示原型。2._ proto _每个实例对象都会有 _ proto 属性,称为隐式原型每一个实例对象的隐式原型 _ proto_ 属性指向自身构造函数的显示原型prototype3.constructor每个prototype原型都有一个constructor属性。指向它关联的构造函数4.原型链获取对象属性时,如果对象本身没有这个属性,那就会去他的原型__proto__上去找,如果还查不到,就去找原型的原型,一直找到最顶层
2020-12-23 20:19:06
99
原创 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
216
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
125
原创 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
129
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
92
1
原创 浅拷贝,深拷贝的理解
深拷贝和浅拷贝浅拷贝:浅拷贝是将对象的每个属性进行依次复制,当对象的属性值是引用类型,实质复制的是其引用,指向的值改也会跟着变化,浅拷贝只拷贝一层深拷贝:深拷贝复制变量值,对于非基本类型的变量,则递归至基本类型变量后,在复制,深拷贝后的对象与原来的对象是完全隔离的,互不影响,深拷贝是层层拷贝浅拷贝代码操作:简单的Object.assign()拷贝方法://Object.assign()拷贝方法 //拷贝{ } a = {name:"张三"}; b = O
2020-12-18 20:34:37
82
原创 值得一看的前端面试题~手写代码篇
前端面试题~手写代码篇深拷贝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
512
原创 前端面试题~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
92
原创 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
204
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人