笔记
二月哟
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
let和const以及var的区别,箭头函数和普通函数的区别
*1.let和const以及var的区别,什么是变量提升,什么是暂时性死区? * 区别: let具有块级作用,不能重复声明可以重复赋值 const具有块级作用域,不能重复声明 不能重复赋值 var全局作用域,可以重复声明,可以重新赋值 暂时性死区: 就是在块级作用域内使用let声明了变量,这个变量不受外部影响 变量提升: 事先声明变量,然后在赋值 2.箭头函数和普通函数的区别? ???? 普通函数是很早就提出的,而箭头函数是es6提出的,他们两个在语法上不一样,并在普通函数与箭头函数他们this的指向也不原创 2021-01-08 19:00:46 · 207 阅读 · 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 · 185 阅读 · 0 评论 -
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 · 127 阅读 · 0 评论 -
javascript原型和原型链
1.prototype 每个函数都有一个prototype属性,被称为显示原型。 2._ proto _ 每个实例对象都会有 _ proto 属性,称为隐式原型 每一个实例对象的隐式原型 _ proto_ 属性指向自身构造函数的显示原型prototype 3.constructor 每个prototype原型都有一个constructor属性。指向它关联的构造函数 4.原型链 获取对象属性时,如果对象本身没有这个属性,那就会去他的原型__proto__上去找,如果还查不到,就去找原型的原型,一直找到最顶层原创 2020-12-23 20:19:06 · 122 阅读 · 0 评论 -
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 · 254 阅读 · 1 评论 -
Ajax的原生写法
ajax 步骤 1,创建异步XMLHttpRequest对象 2,打开连接 3,发送请求 4,获取响应数据 代码如下 var xhr ; //创建ajax对象 if(window.XMLHttpRequest){ //兼容IE xhr = new XMLHttpRequest(); }else{ xhr = new ActiveXObject("Microsoft.XMLHTTP"); } xhr.open("get",url,true); //建立连接 xhr.send(); //发送原创 2020-12-22 21:03:58 · 151 阅读 · 0 评论 -
浅拷贝,深拷贝的理解
深拷贝和浅拷贝 浅拷贝:浅拷贝是将对象的每个属性进行依次复制,当对象的属性值是引用类型,实质复制的是其引用,指向的值改也会跟着变化,浅拷贝只拷贝一层 深拷贝:深拷贝复制变量值,对于非基本类型的变量,则递归至基本类型变量后,在复制,深拷贝后的对象与原来的对象是完全隔离的,互不影响,深拷贝是层层拷贝 浅拷贝代码操作: 简单的Object.assign()拷贝方法: //Object.assign()拷贝方法 //拷贝{ } a = {name:"张三"}; b = O原创 2020-12-18 20:34:37 · 113 阅读 · 0 评论 -
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 · 160 阅读 · 1 评论 -
值得一看的前端面试题~手写代码篇
前端面试题~手写代码篇 深拷贝 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 · 565 阅读 · 0 评论 -
前端面试题~css篇
面试题之css篇 ???? 盒模型 盒模型由 margin + border + padding + content 四个属性组成 W3C的标准盒模型 width = content,不包含 border + padding IE盒模型 width = border + padding + content 相互转换 二者之间可以通过CSS3的 box-sizing 属性来转换。 box-sizing: content-box 是W3C盒模型 box-sizing: border-box 是IE盒模型 垂直居原创 2020-11-26 11:14:33 · 122 阅读 · 0 评论 -
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 · 239 阅读 · 1 评论
分享