
JavaScript
泊一
起风了
展开
-
关于JS中数据运算时的精度损失问题
以前只知道在js中0.1+0.2 !==0.3,但最近做项目时遇到了这样的需求,上一个数据与下一数据要连续,要满足不同行之间的数据只差只能是0.1,当我写好了,按lastNum-currentNum = 0.1来判断时,发现判断是不对,最后发现这类问题其实浮点数运算的问题。这时才发现我需要总结一下。上述需求是这样解决的Number((Number(value) - Number(before)).toFixed(3)) <0.1 ,因为value与before可能是字符串,toFixed处理后也是转载 2021-12-06 20:29:10 · 247 阅读 · 0 评论 -
数组方法总结
文章目录一、 静态方法1.1 Array.isArray()二、实例方法2.1 改变原数组的方法push(),pop()shift(),unshift()reverse()sort()splice()2.2 不改变原数组的方法join()concat()slice()map()参考链接https://wangdoc.com/javascript/stdlib/array.html#arrayisarrayes6数组新增方法一、 静态方法1.1 Array.isArray()Array.isArr原创 2020-11-15 14:26:19 · 480 阅读 · 0 评论 -
构造函数与原型详解(prototype、__proto__、constructor)
文章目录1.构造函数1.1 对象创建的三种方式1.2静态成员和实例成员1.2.1实例成员1.2.2静态成员2. 构造函数的问题3.原型相关3.1 构造函数原型对象——prototype3.2 对象原型__proto__3.3 constructor构造函数3.4 三者之间的关系3.5 原型链3.5.1 原型链的查找机制4. 通过原型为数组扩展内置方法1.构造函数1.1 对象创建的三种方式字面量方式var obj = {}; new关键字var obj = new Object();原创 2020-08-13 14:13:33 · 1587 阅读 · 0 评论 -
JS中的作用域、作用域链、预解析
一、作用域通常来说,一段程序代码中所用到的名字并不总是有效和可用的,而限定这个名字的可用性的代码范围就是这个名字的作用域。作用域的使用提高了程序逻辑的局部性,增强了程序的可靠性,减少了名字冲突。JavaScript(es6前)中的作用域有两种:全局作用域局部作用域(函数作用域)1.1 全局作用域作用于所有代码执行的环境(整个 script 标签内部)或者一个独立的 js 文件。...原创 2019-11-03 11:41:22 · 491 阅读 · 2 评论 -
js中return;return true return false 的区别
return 定义:return 语句会 终止函数的执行 并 返回函数的值。注意这两个: 1.终止函数的执行 2.返回函数的值返回函数的值这里就不过多叙述了,就是 return 变量先看下面的例子:<!DOCTYPE html><html><head> <title>return测试&l...转载 2019-11-01 21:57:14 · 176 阅读 · 0 评论 -
JSON 格式的对象与 JS 对象的区别与对比
JSON的定义JSON是JS的一种简单的数据格式,JSON是javaScript的原生格式,它是一种严格的js对象的格式,JSON的属性名必须有双引号,如果值是字符串,也必须是双引号;<script> var obj ={};//这只是JS对象 var obj1={width:100,height:200}//JS对象 var obj2={'wi...转载 2019-11-01 21:25:54 · 504 阅读 · 0 评论 -
Jquery的ready()与Javascrpit的load()
window.onload$(document).ready()资源加载的时间必须等待网页资源全部加载完毕(包括图片等),然后再执行JS代只需要等待网页中的DOM结构加载完毕,就能执行JS代码执行的次数只能执行一次,多次执行会覆盖可执行多次并且不会覆盖对于执行次数的举例window.οnlοad=function(){alert(“第一次”)} wind...原创 2019-10-13 15:37:32 · 131 阅读 · 0 评论 -
移动端touch、click、tap的区别与点透事件
一、click 与tap比较click与tap都会出发点击事件,但是在手机web端,click会有200-300ms延迟,所以一般用tap(轻击)代替click作为点击事件。singleTap 和 doubleTap分别代表单击和双击。二、使用tap会出现点透事件(事件穿透)很多用过Zepto(移动端开发的库)都说使用tap会出现点透事件。1、什么是tap事件穿透执行完上层绑定的tap事...转载 2019-10-08 20:20:03 · 2659 阅读 · 0 评论 -
JS 里的数据类型转换
类型转换任意类型转字符串1.String(x)2.toString()3.+’’任意类型转数字Number(x)parseInt(x, 10) MDNparseFloat(x) MDNx - 0+x任意类型转布尔Boolean(x)!!x5种常为false的null, undefined,0,NAN,’ ’null 的typeof 为object内存图你...原创 2019-08-04 22:46:32 · 136 阅读 · 0 评论 -
JS 里的数据类型
七种数据类型:number string boolean symbol undefined null object注意没有 array 类型也没有 function 类型。number整数和小数:1 1.1 .1科学记数法:1.23e2二进制:0b11八进制:011(后来 ES5 添加了 0o11 语法)十六进制:0x11string空字符串:’’多行字符串:var s =...原创 2019-08-03 09:43:01 · 198 阅读 · 0 评论 -
js调用其他js文件的函数,以及js加载过程
参考博客原址:https://blog.youkuaiyun.com/sinat_32290679/article/details/52301284 <p>我们在编写js时,通常会需要在一个js文件中调用另一个js文件的函数,那么如何调用呢? <br>...转载 2019-06-23 22:25:12 · 2900 阅读 · 0 评论 -
var与let、const的区别
一、基础区别1.var定义变量,没有块的概念,可以跨块访问,不能跨函数访问,不初始化出现undefined,不会报错2. let定义变量,只能在块作用域里访问,也不能跨函数访问,对函数外部无影响。3. const定义常量,只能在块作用域里访问,也不能跨函数访问,使用时必须初始化(即必须赋值),而且不能修改。<script type="text/javascript"> ...原创 2019-07-21 21:47:01 · 711 阅读 · 0 评论 -
闭包
闭包JS中的闭包是一个我们经常遇到的名词,到底什么是闭包?为什么我们要使用闭包?又该如何使用闭包呢?为什么我们需要闭包首先来看一个例子,我们来实现一个计数器。var counter = 0;function add() {return counter += 1;}add();add();add();// 计数器现在为 3现在我们已经达到了目的,可是问题来了,代码中的任何一个函...转载 2019-07-21 21:52:47 · 118 阅读 · 0 评论