![](https://img-blog.csdnimg.cn/20210803101806989.jpeg?x-oss-process=image/resize,m_fixed,h_224,w_224)
重温js
文章平均质量分 83
js的上层应用穷出不层,但是回归本源都是基于js来的。所以在学其他的知识点的时候,想来回顾一下js的知识点。正所谓,“基础不牢,地动山摇”
twinkle||cll
More interest,less interests (多一些兴趣爱好的向往,少一些功名利禄的追求)
展开
-
重温js—— 事件循环
js线程模式大家都知道,js是单线程的语言。为啥要设置成单线程的呢? 不妨大家想一想,如果js是多线程的语言,一个线程来操作删除dom,一个线程来新增dom.那么这两个谁能先完成?结果就会变得不可控制。但是这里有的人肯定会说,html5提出了workers可以来启动多线程。没错,workers是可以用于启动多线程,在worker线程中你可以运行任何你喜欢的代码,不过有一些例外情况。比如:在worker内,不能直接操作DOM节点,也不能使用window对象的默认方法和属性,这也是存在一些弊端的(本质上也还是原创 2021-09-02 20:02:52 · 424 阅读 · 0 评论 -
重温js——作用域和作用域链
作用域看过上一篇重温js——执行上下文,里面提到了一个概念叫做执行环境,在里面说到了 全局环境,函数环境和eval的环境。那里面所说的环境,其实就是作用域,所以这里在稍微唠叨一下,作用域有以下:全局作用域(Global scope):和前文的GO对象一样函数作用域(Function scope):处于每一次执行的VO对象块级作用域(es6以后补充的):es6以后定义变量的关键字变成let和const, let 和 const有自己的规则,详情查看.既然变量有作用域,函数也有作用域,那么他们是原创 2021-08-30 12:05:37 · 159 阅读 · 2 评论 -
重温js——执行上下文
执行上下文这个词大家都听过,但是里面内容有啥呢,那就继续往下看看。要明白上下文是啥,那么我们先来了解一下js的执行环境,运行过程等。执行环境在函数的那一张中,提到了全局环境和局部环境的概念,就是说在函数的执行过程中,函数内部的环境和外面是独立的,只是说函数内部可以使用外面全局环境的变量或者在调用全局函数的方法。在此,来总结一下js的执行环境。Global全局环境:这个全局的环境,是js引擎一启动的时候就加载好的环境,用于处理任何JS代码(变量的定义,函数声明,函数调用等);Functi.原创 2021-08-29 18:25:34 · 278 阅读 · 0 评论 -
重温js——属性描述符
属性描述符属性描述符表达了一个属性的相关信息(元数据),本质上是一个对象。数据属性在我们使用对象的过程中,对一个对象进行取值和赋值的时候,该属性称之为 数据属性存取器属性存取器属性是当给属性赋值或者取值的时候,会自动的运行一个函数。语法Object.defineProperty(obj, prop, descriptor)// 参数obj:要定义属性的对象。prop: 要定义或修改的属性的名称或 Symbol 。descriptor:要定义或修改的属性描述符。在descr原创 2021-08-26 11:17:41 · 287 阅读 · 0 评论 -
重温js——原型和原型链
我们在前文说到,所有的对象都是通过new 函数来创建的,所有的函数也都是对象 . 那么问题来了,Function也是一个函数,那么他是怎么来的呢?(这个问题是不是类似有点像先有鸡和先有蛋的感觉)但是Function函数是在js引擎启动的时候,就直接把Function放入到内存中的.原型 prototype所有函数都有一个属性: prototype,称之为原型 .prototype在默认情况下是一个object对象.默认情况下, prototype中有一个属性: constructor, co.原创 2021-08-25 17:11:35 · 179 阅读 · 0 评论 -
重温js—— 错误处理
在开发的过程中,遇见错误是很正常的。但是我要知道的是,错误发生的原因和如何去处理错误呢?出现错误的原因在代码的书写中,出现的原因有,代码本身书写错误和运行错误书写错误主流的代码编辑器,如果你的代码是编写错误,那么编辑器一般会提示你报错了,并且给出修改的建议。运行错误代码运行错误分为运行时候报错和预期结果不对运行时报错代码的书写中,我们可能没有报错,但是代码在执行的过程中发现错误了。上面的代码中,我们定义了一个变量,然后当中函数的方法来调用,最后输出一个结果。但是运行期间.原创 2021-08-24 12:13:57 · 705 阅读 · 0 评论 -
重温js——正则表达式
流程图一套标准的图形,用于描述程序的逻辑。通常用于分析程序的流程图。主要的流程图有以下这写:#mermaid-svg-fKrCyQw8OqH6sbYC .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);fill:#333;color:#333}#mermaid-svg-fKrCyQw8OqH6sbYC .label text{fill:#333}#mermaid-svg-f原创 2021-08-23 21:41:31 · 165 阅读 · 0 评论 -
重温js——构造函数基础
我们在使用函数的过程中,大多数都会使用构造函数,如: new Array(), 出现构造函数的场景看下面的代码,我们在一个这样的场景下:想创建多个相同的用户,我们可能会使用下面的代码:function createUser(name, age, sex){ return { name, age, sex, sayHello(){ console.log(`my name is ${this.name}, my sex is ${this.sex} and i原创 2021-08-19 08:54:41 · 2296 阅读 · 0 评论 -
重温js——函数表达式和this
函数表达式js 中,函数也是一个数据,在语法上,函数可以用于任何需要数据的地方JS中,函数是一等公民,函数还可以放到变量当中。var a = function test () { // 代码块}上面这一块代码是一个函数表达式,test 不会提升到全局。意思是创建一个函数,将其赋值给变量 a我们知道a 里面保存的是函数的引用地址,那么函数的调用是使用 () 来进行调用,保存到某个变量中的函数地址,直接 a() 就能调用该函数了。任何可以出现数据的地方,函数就可以出现,函数是引用值类型。this 关键原创 2021-08-17 12:57:34 · 291 阅读 · 0 评论 -
重温js——函数基础
函数的作用,减少重复代码,实现代码的解耦。把某个功能点给抽离出来。使得代码阅读增加创建(定义、声明)函数function 函数名(){ // 代码体}函数本身是不会运行的,只有调用了函数才会生效。调用函数的方式也很简单, 直接 函数名() 直接调用特点通过字面量声明的函数,会提升到脚本的顶部,和定义遍历的var 一样。通过字面量声明的函数,会成为全局的属性。.通过typeof 函数名,得到的结果是 'function'函数内部的代码块,声明变量在es6以前没有使用var, 会.原创 2021-08-16 19:51:40 · 173 阅读 · 0 评论 -
重温js——数组
数组的创建方式字面量我们知道对象创建方式有字面量的创建方式, 如:var a = { b: 1, c: 2}复制代码那我们创建数组肯定也是可以使用字面量的方式来创建var arr = [1,'a',null, undefined, ' ']// 这句话的意思是创建一个数组,内容是 1,'a',null, undefined, ' ', 长度是 5复制代码new 的方式对象我们还可以使用new的方式来创建一个对象: 如:var obj= new Obje.原创 2021-08-10 20:49:01 · 109 阅读 · 0 评论 -
重温js —— 流程控制
这是我参与8月更文挑战的第5天,活动详情查看:8月更文挑战流程图一套标准的图形,用于描述程序的逻辑。通常用于分析程序的流程图。主要的流程图有以下这写:开始或者结束用于表示一个流程的开始和结束,可以使用带圆角的长方形、椭圆或者圆形,一般用于流程的起点和结束判断菱形表示判断,用来表示是否的操作流程中的步骤用长方形来表示流程中的步骤输入或者输出使用平行四边形或者长方形来表示流程中的输入或者输出连接线连接线表示两个流程的流向if 判...原创 2021-08-08 23:17:05 · 158 阅读 · 0 评论 -
重温js ——位运算
js 位运算符什么是位运算?位运算是在数字底层(即表示数字的 32 个数位)进行运算的。由于位运算是低级的运算操作,所以速度往往也是最快的(相对其它运算如加减乘除来说),并且借助位运算有时我们还能实现更简单的程序逻辑,缺点是很不直观,许多场合不能够使用。js位运算符总共分为两类:逻辑位运算符:位与(&)、位或(|)、位异或(^)、非位(~)移位运算符:左移(<<)、右移(>>)、无符号右移(>>>)逻辑运算符位与(&): 真真原创 2021-01-11 15:44:11 · 405 阅读 · 0 评论 -
重温js—— 数字的存储,js精度问题
在js中,数字是如何存储的,为啥在小数相加的时候,会出现精度不准确。如:原因分析我们在现实生活中,数字是以 10 进制(0,1,2,3,4,5,6,7,8,9)的形式来进行数学运算, 但是在计算机中是以 2 进制( 0,1)的数据进行存储的。那么10 进制与 2 进制是怎么进行转换的呢?整数10进制转2进制十进制在转二进制,将十进制的数据除以2,得出余数和商,然后继续用商来除以2,知道商为0,得到所有的余数。例如: 将十进制的10转成二进制的数据是 1010...原创 2021-08-05 23:00:34 · 547 阅读 · 0 评论 -
js基础——运算符
运算符是解决数据运算的问题操作符和操作数操作符: 运输符,参与运算的符号操作数: 参与运算的数据,也称之为"元".操作符不一定只有一个符合,操作符出现的问题不同,可能具有不同的含义。1 + 3 // 这里的 + 代表的是将 1 和 3 进行相加+1.3 // 这里的 + 代表1.3是整数复制代码常用操作符操作符意义=赋值符号,将右边的数据赋值给左边.访问符号,用于访问对象的属性[]访问符号(对象表达式),用于访问对象的属性()函..原创 2021-08-04 21:31:07 · 1024 阅读 · 0 评论 -
重温js——js语法基础
js的上层应用穷出不层,但是回归本源都是基于js来的。所以在学其他的知识点的时候,想来回顾一下js的知识点。正所谓,“基础不牢,地动山摇”第一个JS应用还记得在写第一个js的hello world 吗?在跨进程序的大门,都是从这里起步的。document.write('hello world!');复制代码效果就是在页面页面中输出一个hello world温馨提示: javascript 是对大小写敏感的,不同的大小写的同一个单词代表的含义不一样。变量声明在变量声明这里,大家.原创 2021-08-03 15:10:15 · 421 阅读 · 2 评论