面试
逆风优雅
这个作者很懒,什么都没留下…
展开
-
闭包的概念、执行机制、优缺点
<script type="text/javascript"> //什么是闭包? //函数嵌套函数, 内部函数就是闭包 //正常情况下,函数执行完毕,内部变量会被销毁(销毁:释放内存空间) /* 如: function fn(){ let a=10; console.log(a) } fn() 当函数执行完毕,即fn()被调用完成后,里面的变量 a 应该被销毁 */ //闭包:内部函数没有执行完毕,外部函数的变量不会销毁,不会被垃圾回收机制收回 fun..原创 2021-07-12 10:59:26 · 114 阅读 · 0 评论 -
箭头函数与普通函数的区别
1.()中定义参数,如果只有一个参数,可以不写括号;2. {}中写函数体,如果函数体中只有返回值,可以不写return。 const fn = () => 10/* 这个箭头函数表示的是,没有传递参数,返回一个数字,10 其对应的传统函数的写法为:const fn = function (){ return 10}*/ console.log(fn()) //表示调用这箭头函数,并且打印3.this指向的不同,箭头函数的this指向的是上下文中的this,在哪里写这个箭头函数,..原创 2021-07-04 19:13:49 · 66 阅读 · 0 评论 -
ES6中的Map 数据类型
map原创 2021-07-04 15:46:05 · 259 阅读 · 0 评论 -
JavaScript中的解构赋值(详细)
解构赋值,就是快速的从对象或者数组中取出成员的一个语法方式 1.解构:将对象或者数组中的某个成员取出来 2.赋值:取出来的成员赋值给某一个变量1.数组的解构 使用 [ ] 来进行解构数组 解构数组,变量名可以随便定义,变量名在[ ]的位置是和数组一一对应<!DOCTYPE html><html lang="zh"> <head> <meta charset="UTF-8"> <meta name...原创 2021-07-04 12:17:16 · 1998 阅读 · 0 评论 -
javascript基本数据类型和引用数据类型的对比
<script type="text/javascript"> //基本数据类型和复杂数据类型的比较 //基本数据类型:number、string、Boolean、undefined、null //复杂数据类型(引用数据类型):数组、对象、函数、正则表达式 //内存分为堆和栈,1.基本数据类型仅仅在栈里面,2.复杂数据类型,在栈里面储存地址,在堆里面储存数据。 //基本类型赋值 let str1 = "hello"; let str2 = str1; //此.原创 2021-07-03 10:10:25 · 173 阅读 · 0 评论 -
ES6中的Set 数据类型
-Map 和 Set 是 ES6 新增的两个数据类型- 都是属于内置构造函数- 使用 new 的方式来实例化使用Set数据类型语法:var s2 = new Set([1, 2, 3])常用的方法:1.add 往set集合中最后增加一个元素 语法:xxx.add( )<script type="text/javascript"> let s = new Set(['李雷', '韩梅梅', true, 123])//里面可以传入任意格式的元素 ...原创 2021-07-02 09:34:37 · 394 阅读 · 0 评论 -
字符串的常用方法总结
<script> //charAt // 用法: 变量名 .charAt(索引) 是找到字符串中指定索引位置的内容返回 如果传入的索引值超过了字符串的索引,那么返回一个空字符串 var a = '你好中国' console.log(a.charAt(3));//打印的结果是 国 console.log(a.charAt(8));//打印的结果是 一个空字符串 //charCodeAt //用法:变量名.charCodeA.原创 2021-06-30 09:44:26 · 95 阅读 · 0 评论 -
常见javascript的全局对象
在 JavaScript 中, 有一个永远被定义的全局对象. 在一个 web 浏览器中, 当脚本创建全局变量时, 他们作为该全局对象的成员被创建. (在Node.js不是这样.) 全局对象的interface取决于脚本在其中运行的执行上下文.windowlocationnavigatorhistoryJSONlocalStoragesessionStorageMath...原创 2021-06-29 11:50:36 · 295 阅读 · 0 评论 -
深拷贝的方法
方法一:采用递归的方式进行<script type="text/javascript"> function Person(name, age) { this.name = name; this.age = age; this.hobby = ['唱', '跳', 'rap'] this.girlFriend = { nickname: '乔碧萝', arr:原创 2021-06-22 09:35:06 · 252 阅读 · 0 评论 -
阻止默认行为的方法
非ie浏览器:e.preventDefaultie浏览器:e.returnValue = false代码演示<!DOCTYPE html><html> <head> <meta charset="utf-8" /> <title></title> </head> <body> <a href="http://baidu.com/" id="testA">跳转百度<原创 2021-06-22 08:42:13 · 236 阅读 · 0 评论 -
阻止事件冒泡的方法
非ie 浏览器的方法:e.stopPropagation()ie浏览器的方法:cancelBubble()原创 2021-06-21 09:38:24 · 157 阅读 · 0 评论 -
前端面试之数组去重的方法
<script> //数组去重 // 方法一 Es6 Set var arr = [1, 5, 6, 6, 8, 2, 1, 5] // 1.new Set(传入数组) var a = new Set([1, 5, 6, 6, 8, 2, 1, 5]) console.log(a);//此时数组中的重复的元素被去除掉了,但是打印的格式为Set(5) {1, 5, 6, 8, 2},不是数组的形式 //2.去重完毕,转换成数组 Arr.原创 2021-06-17 08:25:49 · 253 阅读 · 0 评论 -
前端面试之var let const的区别
<script> // let : //1.暂时性死区(不具备变量提升的特性) console.log(a); var a = 30;//使用var声明变量 此时打印a是可以被打印出来的,结果为30 console.log(a); let a = 30;//使用let声明变量 此时打印a是打印不.原创 2021-06-17 08:58:48 · 1680 阅读 · 0 评论 -
前端面试之创建对象的方式
<script>// 1:字面量的方式创建一个对象 var o1 = { name: 'Jack', age: 18, gender: '男' } console.log(o1); var o2 = {} //创建一个空对象,然后往空对象中添加属性 o2.name = 'Rose' o2.age = 20 .原创 2021-06-17 10:45:07 · 677 阅读 · 0 评论