
JavaScript深入
文章平均质量分 71
深入JavaScript语言基本特性
超级冲天猪
前端
展开
-
JavaScript深入之promise基础知识
JavaScript深入之promisepromise基本原理Promise 是一个类,在执行这个类的时候会传入一个执行器,这个执行器会立即执行Promise 会有三种状态:Pending 等待resolved(或者是fulfilled) 完成rejected 失败如下:const p = new Promise((resolve,reject)=>{ resolve(1) }) console.log(p);状态为成功const p = new P原创 2022-02-08 16:02:04 · 434 阅读 · 0 评论 -
JavaScript深入之new关键字
JavaScript深入之new关键字看个例子function Person(name) { this.name = name; } Person.prototype.age = 20; let person = new Person("linxizhe"); console.log(person.name);//linxizhe console.log(person.age);//20从这个例子中,我们可以看到,实例 person 可以:1.访原创 2022-02-07 00:51:50 · 525 阅读 · 0 评论 -
JavaScript深入之数组方法整理
1.join()就是把数组转换成字符串,然后给他规定个连接字符,默认的是逗号( ,)书写格式:join(" ")var arr = [1,2,3];console.log(arr.join()); // 1,2,3console.log(arr.join("-")); // 1-2-32.push()和pop()push(): 把里面的内容添加到数组末尾,并返回修改后的长度。pop():移除数组最后一项,返回移除的那个值,减少数组的length. var arr原创 2022-02-03 22:55:51 · 310 阅读 · 0 评论 -
JS中数据类型检测
JS中数据类型检测1.type of定义:用来检测数据类型的运算符。有以下两种用法:1.type(表达式) :对表达式做运算2.typeof 变量名:对变量做运算。返回值:首先检测返回的结果是一个字符串。所以我们看下面的表达式(最近看到的面试题)::console.log(typeof typeof typeof typeof []); 由于typeof返回的结果永远是一个字符串(字符串中包含了对应的类型),所以连续出现两个及两个以上typeof检测的时候,最后结果都是` “string原创 2022-02-03 16:22:07 · 654 阅读 · 0 评论 -
JavaScript深入之继承
JavaScript深入之继承1.借助原型链实现继承 function Parent(){ this.name = "zhu" }; Parent.prototype.getName = function(){ console.log(this.name); }; function Child() { }; Child.prototype = new Parent(); var child1 = new Child(); child原创 2022-02-01 17:15:30 · 862 阅读 · 0 评论 -
JavaScript深入之异步
JavaScript深入之异步我们先来看一段代码Promise.resolve() .then(function () { console.log("promise1"); }) .then(function () { console.log("promise2"); }); console.log("3"); setTimeout(function () {原创 2022-01-31 15:21:48 · 561 阅读 · 0 评论 -
JavaScript深入之闭包
JavaScript闭包在我们说闭包时我们先来看看两个东西:作用域和生存周期1.作用域看一个例子function fn1(){ let str = "我是一个帅哥";};function fn2(){ //我们尝试使用这个变量 console.log(str);//Uncaught ReferenceError: str is not defined};fn1();fn2();因为str是一个局部变量就像函数的私有财产局部变量只能在定义它的函数内使用。我们再看下面例子f原创 2022-01-30 17:12:06 · 465 阅读 · 0 评论 -
JavaScript深入之ES6中的Map和Set
JavaScript深入之ES6中的Map和Set及实现Set和Map主要的应用场景在于数组去重和数据存储,原来Set是一种叫做集合的数据结构,Map是一种叫做字典的数据结构。Set集合是由一组无序且唯一(即不能重复)的项组成的,可以想象成集合是一个既没有重复元素,也没有顺序概念的数组,ES6提供了新的数据结构Set。它类似于数组,但是成员的值都是唯一的,没有重复的值。Set 本身是一个构造函数,用来生成 Set 数据结构// 去除数组的重复成员let array = [1,2,1,4,5,3]原创 2022-01-29 00:19:09 · 1379 阅读 · 0 评论 -
JavaScript深入之call和apply,bind
js数组方法整理:https://www.cnblogs.com/zyfeng/p/10541133.html原创 2022-01-27 23:31:28 · 146 阅读 · 0 评论 -
JavaScript深入之解读this
在之前的文章中我们说到了执行上下文,我们可以先总结一下执行上下文的执行周期执行上下文的创建阶段,会分别生成变量对象,建立作用域链,确定this指向。其中变量对象与作用域链在之前的文章已经说了。本文的关键,就是确定this指向。首先我们一定要牢记一个结论:this的指向,是在函数被调用的时候确定的,也就是创建上下文的时候确定的因此,一个函数中的this指向,可以非常灵活。比如下面的例子中,同一个函数由于调用方式的不同,this指向了不一样的对象。var a = 10;var obj = { a原创 2022-01-26 23:07:41 · 101 阅读 · 0 评论 -
JavaScript深入之变量对象及作用域链
在之前的JavaScript深入之执行上下文中我们说到:当 JavaScript 代码执行一段可执行代码(executable code)时,会创建对应的执行上下文。而且对于每个执行上下文都有三个重要的属性:1.变量对象2.作用域链3.this1.变量对象变量对象是与执行上下文相关的数据作用域,存储了在上下文中定义的变量和函数声明。因为不同执行上下文下的变量对象稍有不同,所以我们来理解全局上下文下的变量对象和函数上下文下的变量对象。我们先看看全局对象:在WC3school中:全局对象是预定义原创 2022-01-25 22:29:36 · 187 阅读 · 0 评论 -
JavaScript深入之执行上下文
什么是执行上下文?简而言之,执行上下文是评估和执行 JavaScript 代码的环境的抽象概念。每当 Javascript 代码在运行的时候,它都是在执行上下文中运行。JavaScript 中有三种执行上下文类型。(1)全局执行上下文 — 这是默认或者说基础的上下文,任何不在函数内部的代码都在全局上下文中。它会执行两件事:创建一个全局的 window 对象(浏览器的情况下),并且设置 this 的值等于这个全局对象。一个程序中只会有一个全局执行上下文。(2)函数执行上下文 — 每当一个函数被调用时,原创 2022-01-25 00:41:45 · 244 阅读 · 0 评论 -
2.JavaScript深入之静态作用域
静态作用域作用域是指程序源代码中定义变量的区域。作用域规定了如何查找变量,也就是确定当前执行代码对变量的访问权限。JavaScript 采用的是静态作用域。函数的作用域在函数定义的时候就决定了。而与词法作用域相对的是动态作用域,函数的作用域是在函数调用的时候才决定的。让我们来看个例子了解var value = 1;function foo() { console.log(value);}function bar() { var value = 2; foo();}原创 2022-01-24 23:59:36 · 168 阅读 · 0 评论 -
JavaScript深入之从原型到原型链
JavaScript深入之从原型到原型链function Person() {}var person = new Person();person.name = 'Kevin';console.log(person.name) // Kevin在这个例子中,Person 就是一个构造函数,我们使用 new 创建了一个实例对象 person。function Person() {}// 注意prototype是函数才会有的属性Person.prototype.name = 'Kevin';原创 2022-01-23 22:46:02 · 205 阅读 · 0 评论