高级程序设计javascript
文章平均质量分 51
javascript高级程序设计内容按章整理
蒋宗正啊
小小的码农,大大的梦。长期招前端后端,坐标上海,要的私聊
展开
-
!!引发的思考
相信大家都知道!是什么作用,是取反的作用。之前还一直看见!!却没怎么在意,今天又看见了这玩意儿,趁今天有空,给大家讲一下:!!作用:实际上它就是把任意类型的变量转为布尔类型的一种方式,例如:var apple = 'apple';console.log(typeof apple); //stringconsole.log(typeof !apple); //booleanconsole.log(!apple === false); //trueconsole.log(typeof !!app原创 2021-09-26 17:55:14 · 57 阅读 · 0 评论 -
工作中发现的null、undefined是否为true,false的问题
今天想用三目运算进行如下判断:abc = null;var result = abc ? true : false;然后就开始思考null、undefined是否为true的关系,调研完之后发现原理大致如下现象null==false以及null==true,结果:falseundefined==false以及undefined==true 结果:falsenull==undefined,结果: true详解在某种意义上,null就是空的意思,undefined就是未定义,大概原创 2021-09-26 13:30:24 · 4507 阅读 · 0 评论 -
Promise详解1
定义大家应该都知道promise是js中执行异步操作的一种方式,英文叫做承诺,那么为什么叫做承诺呢,因为每个promise都承诺会有一个then去处理状态改变后的操作,即一个 promise 必须有一个 then 方法用于处理状态改变状态说明Promise包含pending、fulfilled、rejected三种状态:pending:初始等待状态,即新建完promise之后的状态resolve:指已经解决,将 promise 状态设置为fulfilledrejected:指拒绝处理该请求,将原创 2021-03-02 13:19:01 · 73 阅读 · 0 评论 -
JS异步编程方案
同步编程同步编程指的是当一个任务在执行时,另一个任务需要等到之前的任务执行完毕才能继续执行,换句话说,就是一段代码的执行会阻塞另一段代码的执行,这就叫做同步编程。异步编程异步编程指的是当一个任务在执行时,另一个任务也可以同时执行,一段代码的执行不会阻塞另一段代码的执行,这种叫做异步。js为什么需要异步编程js是单线程的,所以如果js都是同步执行代码的话,就会造成阻塞。因此在js编程中,会大量使用js来进行异步编程。js异步编程方式先放结论:回调函数fs.readFile(A,'utf-8原创 2021-02-17 15:54:23 · 111 阅读 · 0 评论 -
一分钟理解JavaScript的闭包
一、用案例了解闭包<!DOCTYPE html><html><head> <meta charset="UTF-8"> <title></title></head><body><div class="show">0</div><button>增加</button><script> let show = do原创 2021-01-18 21:27:14 · 86 阅读 · 0 评论 -
apply、call和bind
apply和call方法他们的作用一模一样,都是为了改变函数体内部this的指向,只是传参形式的不同。call(thisObj, arg1, arg2, arg3, arg4);apply(thisObj, [args]);thisObj:call和apply第一个参数是一样的,该参数将替代Function类里面的this对象。arg1,arg2…:是一个个的参数,args:一个数组或类数组,是一个参数列表。call:var obj = { name: 'linxin'}fun原创 2021-01-07 10:27:11 · 83 阅读 · 0 评论 -
js(JavaScript)-全局作用域、函数作用域、块级作用域
全局作用域在全局声明的变量拥有的作用域叫做全局作用域。例如:var a = "cat";//a的作用域就是全局,在函数内部也能使用function myFunction(){}函数作用域在函数内声明的变量拥有的作用域叫做函数作用域var a = "cat";//a是全局作用域,b在函数外面不能使用,因为声明在函数内部,作用域是函数作用域function myFunction(){//函数内部才能使用b var b = "dog";}块级作用域es6新加的作用域,用le原创 2021-01-04 22:25:55 · 333 阅读 · 0 评论 -
JS基本数据类型和引用数据类型的区别
定义:基本数据类型: Number、String、Boolean、Null、 Undefined引用数据类型: 函数、数组、正则等除了基本数据类型以外的数据基本数据类型基本数据类型是指存放在栈中的简单数据段,数据大小确定,定义后值不可更改,假如更改需要先销毁原来的值,而字符串的修改实际上并没有修改,而是去返回一个新的值。举个栗子:var a=2; //2赋值给aa=3; //将a原有的值销毁,重新把3赋值给avar s ="hello";s.toUpperCase();//原创 2020-12-16 00:37:59 · 237 阅读 · 2 评论 -
讲一讲javaScript预编译
前置:首先我们得理解js运行顺序:语法分析预编译解释执行而在预编译过程中,会有两种提升:函数声明整体提升:就是把任意位置的函数的声明都提到逻辑最前面变量声明提升:把变量的声明也提到最前面。那么什么叫函数声明和变量声明呢?例如:function a(){};//这叫做函数声明var b = function b(){};//这个不是函数声明var a =123;//这其实是两句话,其中var a;就是变量声明,而后面a=123;叫做变量赋值我们再来看什么叫提升:funct原创 2020-12-11 10:25:18 · 63 阅读 · 0 评论 -
你真的懂js数据类型么?
概念如图所示,js数据类型有七种原创 2021-01-15 20:48:43 · 122 阅读 · 0 评论 -
js--小数计算精度问题
原因二进制与十进制转化时的精度丢失现象 <script> console.log(99.99+0.02); console.log(33.122+44.1); for (var i = 0; i < 10; i++) { // toFixed() 方法可把 Number 四舍五入为指定小数位数的数字。 var num = Math.random().toFixed(2)*100;原创 2021-01-06 10:03:14 · 790 阅读 · 0 评论 -
第三章基本概念之操作符
一元操作符:就是只能操作一个值的符号++a–a+a-a递增和递减操作符:++和–:递增和递减操作符遵循以下规则:对于字符串:假如字符串有数字,则先将字符串转为数字值,再执行加减1的操作,此时字符串变为数值变量假如没有数字,则将字符串变量变成NaN,此时字符串变为数值变量。对于布尔值,先把true/false转为1/0,然后再执行加减1的操作,此时布尔值变为数值变量。对于对象,先调用对象的valueOf()方法,然后对其应用上述规则,如果结果是NaN,则再调用toString(原创 2020-12-12 13:29:47 · 88 阅读 · 0 评论 -
第三章基本概念之数据类型
1 小知识点整理:js区分大小写标识符命名规则和java一样数据类型有五种:undefined,Null,Boolean,Number和String2 typeof操作符用来判断数据类型的操作符(不是函数),例如:undefined-如果这个值未定义boolean-如果这个值是布尔值string-如果这个值是字符串number-如果这个值是数字(可以整形也可以浮点型)object-如果这个值是对象或nullfunction-如果这个值是函数例子:var message="s原创 2020-12-06 22:55:48 · 271 阅读 · 0 评论