![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JavaScript
only家的博客
这个作者很懒,什么都没留下…
展开
-
javascript常见数据类型判断
1、typeof类型判断在web开发中有非常广泛的应用。说到类型判断,首先会想到的是typeof,引用《JavaScript权威指南》中对typeof的介绍:typeof是一元操作符,放在其单个操作数的前面,操作数可以是任意类型。返回值为表示操作数类型的一个字符串。在ES6前,JavaScript共有六种数据类型:Boolean、Number、String、Undefined、Null...原创 2019-11-26 11:16:44 · 262 阅读 · 0 评论 -
new 的模拟实现
1、MDN 对 new 运算符的描述:new 运算符创建一个用户定义的对象类型的实例或具有构造函数的内置对象的实例。new 关键字会进行如下操作:创建一个空的简单的 JavaScript 对象(即 {});链接该对象(即设置对象构造函数)到另一个对象;将步骤1新创建的对象作为 this 的上下文;如果该函数没有返回对象,则返回 this ;看个例子:function Person...原创 2019-11-25 15:18:16 · 314 阅读 · 1 评论 -
javascript事件循环Event Loop
js Event Loop学习笔记。1、线程和进程的区别一个程序至少有一个进程,一个进程至少有一个线程。线程的划分尺度小于进程,使得多线程程序的并发性高。另外,进程在执行过程中拥有独立的内存单元,而多个线程共享内存,从而极大的提高了程序的运行效率。线程在执行过程中与进程还是有区别的,每个独立的线程有一个程序运行的入口、顺序执行序列和程序的出口。但是线程不能够独立执行,必须依存在应用程序中,...原创 2019-10-23 18:21:10 · 214 阅读 · 2 评论 -
JavaScript事件
博客总结笔记,关于JavaScript事件。1、js事件流上图为js事件流的全过程,从图中可以得知:一个完整的事件流是从window开始,最后回到window的一个过程。事件流分为三个阶段,1-5是捕获阶段,5-6是目标阶段,6-10是冒泡阶段。默认情况下,js事件是在冒泡阶段执行的。...原创 2019-10-23 11:29:59 · 639 阅读 · 0 评论 -
原生JS实现bind
在JavaScript中有很多改变this指向的方法,如call、apply,本文说的bind也是方法之一,与前两者不同的是,前两者改变this指向的时候会立即执行,而bind不会。bind是函数原型Function.prototype上的一个方法,作用是改变this的指向并返回一个函数等待执行。bind可以传入多个参数,第一个参数作为this的一个对象,后面的参数作为返回函数的形参。第一个参...原创 2019-10-12 15:40:19 · 337 阅读 · 0 评论 -
ES6学习笔记之变量的解构赋值——字符串的新增方法
1、String.fromCodePoint()ES5提供String.fromCharCode()方法,用于从Unicode码点返回对应的字符,但是这个方法不能识别码点大于0xFFFF的字符。ES6提供了String.fromeCodePoint()方法,可以识别大于0xFFFF的字符,弥补了String.fromCharCode()方法的不足。在作用上,与codePointAt()方法相反。...原创 2019-09-16 17:40:31 · 176 阅读 · 0 评论 -
ES6学习笔记之变量的解构赋值——解构赋值的用途
1、交换变量的值:let x=1;let y=2;[x,y]=[y,x];2、从函数返回多个值:函数只能返回一个值,如果要返回多个值,只能将它们放在数组或对象里返回。有了解构赋值,取出这些值就非常方便了。如下://返回一个数组function example(){ return [1,2,3];}let [a,b,c] = example();//返回一个对象functi...原创 2019-09-12 14:44:34 · 144 阅读 · 0 评论 -
ES6学习笔记之变量的解构赋值——对象的解构赋值
解构不仅可以用于数组,还可以用于对象。对象的解构与数组有一个重要的不同。数组的元素是按次序排列的,变量的取值由它的位置决定;而对象的属性没有次序,变量必须与属性同名,才能取到正确的值。let { bar, foo } = { foo: 'aaa', bar: 'bbb' };foo // "aaa"bar // "bbb"let { baz } = { foo: 'aaa', bar: '...原创 2019-09-12 12:01:19 · 246 阅读 · 0 评论 -
ES6学习笔记之变量的解构赋值——数组的解构赋值
终于决定好好看看ES6了。笔记还是要有的吧。一、数组的解构赋值变量的解构赋值:ES6按照一定模式从数组和对象中提取值,对变量进行赋值,这被称为解构赋值。下面是几个例子:let [foo,[[bar],baz]]=[1,[[2],3]];foo //1bar //2baz //3let [x,,y]=[1,2,3]x //1 y // 3let [head,...tail]=[1...原创 2019-09-12 10:52:22 · 202 阅读 · 0 评论 -
JavaScript经典题目之作用域、闭包
1、数组newArray中有哪些元素? var array = []; for (var i = 0; i < 3;i++) { array.push(() => i); } var newArray = array.map(el => el()); console.log(newArray);答案是:3,3,3如果要记...原创 2019-08-15 17:16:17 · 278 阅读 · 0 评论 -
JavaScript经典题目之变量声明提升、全局作用域、函数作用域
作为一名前端开发,JavaScript简直重要的不行,保持学习的状态。记录一些我觉得需要被记录的东西。1、下面的代码在控制台会输出什么?var a = 10;function test() { console.log(a);//??? var a = 20; } test();答案是会打印出:undefined解析:使用var声明的变量在JavaScript中...原创 2019-08-14 12:21:32 · 185 阅读 · 0 评论