
JavaScript
文章平均质量分 50
霜如明月
这个作者很懒,什么都没留下…
展开
-
如何解决JavaScript中0.1+0.2不等于0.3
console.log(0.1+0.2===0.3)// true or false??在正常的数学逻辑思维中,0.1+0.2=0.3这个逻辑是正确的,但是在JavaScript中0.1+0.2!==0.3,这是为什么呢?这个问题也会偶尔被用来当做面试题来考查面试者对JavaScript的数值的理解程度。在JavaScript中的二进制的浮点数0.1和0.2并不是十分精确,在他们相加的结...原创 2018-10-22 17:45:51 · 448 阅读 · 0 评论 -
JS中如何获取url中的某个参数的值
举个列子说明 http://xxxxxxxxxx?account=haha结果: account = getUrlParam(account) --> account = haha代码实现:function getUrlParam(name){ var reg = new RegExp("(^|&)"+ name +"=([^&]...原创 2018-10-25 22:18:30 · 1595 阅读 · 0 评论 -
JS判断当前设备是 PC IOS Andriod
JS判断当前设备是 PC IOS Andriod代码如下:<script > window.onload = function(){ var isPc = IsPC(); var isAndroid = is_android(); if (isPc){ //pc locat...原创 2018-10-29 19:15:02 · 1214 阅读 · 1 评论 -
个人对于JavaScript中Number.toFixed()方法的理解
需求:对浮点数进行四舍五入精度获取。问题:直接使用Number.toFixed()会出现异常的舍入情况。原因:计算机浮点数存储是二进制,js的Number.toFixed()实际的精度确认规则是四舍六入五成双,逢四下舍,逢六入一,逢五时,根据浏览器内核计算结果也不尽相同。具体原理这里不做详细描述,各位看官可自行查阅相关资料。解决方法:重新Number.toFixed()方法。实现原理:将...原创 2018-10-26 21:21:32 · 2709 阅读 · 0 评论 -
教你用JS手写简单的秒表(精确到10ms,没有延迟)
制作秒表的思路如下:1、首先定出功能以及界面。我的目的是做最简单的秒表,因此只需要开始、结束以及清零的功能。界面如下图所示:未开始运行:运行中: 2、构思实现的方式。首先,核心方法肯定是 setInterval() 方法,用于周期性地显示时间。 因为我要精确到10ms, 所以设置时间间隔为10。再者,如何令时间递增?A . 我开始想到的是设置变量 milliSeconds、sec...原创 2018-10-24 20:25:35 · 3248 阅读 · 0 评论 -
Javascript 定时器调用传递参数的方法
备注:先记下,以后整理:Javascript 定时器调用传递参数的方法,需要的朋友可以参考下。无论是window.setTimeout 还是window.setInterval,在使用函数名作为调用句柄时都不能带参数,而在许多场合必需要带参数,这就需要想方法解决.例如对于函数hello(_name),它用于针对用户名显示欢迎信息:代码如下:var userName="Tony"; //...原创 2018-10-24 21:29:08 · 1513 阅读 · 0 评论 -
js 里面的 function 与 Function
function 是 js 的标识符Function 是 js 里面的一个 构造函数1、new function 与 new Function 的区别new 运算符在 js 里面是 创建一个自定义的对象的实例 或者是 一个具有构造函数的本地对象的实例。语法:new constructor [ ( [ arguments ] ) ]new function() {…} 初始化一个可操作对象...原创 2018-10-31 22:24:15 · 1516 阅读 · 0 评论 -
原生js实现一个DIV的碰撞反弹运动
原生js实现一个DIV的碰撞反弹运动:关键在于DIV的边界检测,进而改变运动方向,即可实现碰撞反弹效果。<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title> &a原创 2018-10-27 21:58:10 · 890 阅读 · 0 评论 -
js的六大数据类型
js中有六大数据类型,包括五种基本数据类型number、boolean、null、undefiined、string和混合数据类型object我们可以用typeof操作符来检测变量的数据类型(输出的是一个关于数据类型的字符串)var a=1; console.log(typeof a);//number var b="hello"; ...原创 2018-11-01 21:46:12 · 453 阅读 · 0 评论 -
JS中移除非数字,最多保留一位小数
废话不说,代码如下://去除非数字 var clearNoNum = function (item) { if (item!=null && item!=undefined) { //先把非数字的都替换掉,除了数字和. item = item.replace(/[^\d.]/g, ""); ...原创 2018-11-01 22:08:22 · 667 阅读 · 0 评论 -
js地址,居住地,户口,职业,行业多选实现
公司甩给我一个需求,其中一部分是对省市区地址多选,研究了一下午,发现一个已经写好的js可以使用,遂研究改js的逻辑与代码,下面贴的是最初版本的js,仍有部分不符合需求,所以还有2.0版本的省市区多选,通过对应的省市区js,职能js,行业js需求是根据点击一个按钮 实现动态添加数据,所以每个数据都有一个地址多选主要逻辑:点击“添加规则”,出发点击事件 addRuleHTML(),进入 ...原创 2018-11-06 19:32:25 · 990 阅读 · 0 评论 -
JavaScript --- Map集合结构详解
Map 对象保存键值对。任何值(对象或者原始值) 都可以作为一个键或一个值。语法new Map([iterable])参数iterableIterable 可以是一个数组或者其他 iterable 对象,其元素或为键值对,或为两个元素的数组。 每个键值对都会添加到新的 Map。null 会被当做 undefined。描述一个Map对象以插入顺序迭代其元素 — 一个 for…of 循...原创 2018-11-06 21:48:32 · 5904 阅读 · 1 评论 -
JavaScript 实现的4种数字千位符格式化方法
所谓的数字千分位形式,即从个位数起,每三位之间加一个逗号。例如“10,000”。针对这个需求,我起初写了这样一个函数:方法一:function toThousands(num) { var result = [ ], counter = 0; num = (num || 0).toString().split(''); for (var i = num.length -...原创 2018-11-02 19:53:46 · 1746 阅读 · 0 评论 -
在for循环中动态拼接字符串和添加事件
不多说,直接开始ES6之前常用写法:for(var i = 0;i<10;i++){ /闭包写法 (function(j){ var a = document.createElement("div"); a.innerHTML = j + " "; a.addEventListener("click",function(){ ...原创 2018-11-02 21:16:52 · 3012 阅读 · 0 评论 -
JS获取浏览器地址栏的多个参数值的任意值实例代码
下面通过一段代码给大家介绍js获取浏览器地址栏的多个参数值的任意值,具体代码如下所示:getParamValue("id");//http://localhost:2426/TransactionNotes.aspx?id=100//返回值是100;// 根据参数名称获取参数值 function getParamValue(name) { var paramsArray...原创 2018-11-10 21:20:34 · 1427 阅读 · 0 评论 -
js 调用flash在chrome报错
1.网页内嵌动态生成的flash出错,出错信息如下:#25081850 myChartId::RendererManager Error >> There was an error rendering the chart. Enable FusionCharts JS debugMode for more information.2.出错原因:chrome禁用flash插件3.解...原创 2018-11-07 20:23:30 · 2305 阅读 · 0 评论 -
javascript模块导入导出
第一次知道javascript有模块的概念通常都是使用增加的模块就如同php里的include、require可以使用引入的内容,不过php是默认引入的文件内部全部可用,而javascript则是选择导出、选择导入,只可以使用引入的函数、变量、对象codecademy上理解javascript module 部分JavaScript中的模块是可重复使用的代码段,可以从一个程序导出并导入到另...原创 2018-11-05 20:56:57 · 766 阅读 · 0 评论 -
详解JavaScript事件循环机制
众所周知,JavaScript 是一门单线程语言,虽然在 html5 中提出了 Web-Worker ,但这并未改变 JavaScript 是单线程这一核心。可看HTML规范中的这段话:To coordinate events, user interaction, scripts, rendering, networking, and so forth, user agents must us...原创 2018-11-11 16:12:59 · 764 阅读 · 0 评论 -
JavaScript 中的 this 工作原理
一、问题的由来学懂 JavaScript 语言,一个标志就是理解下面两种写法,可能有不一样的结果。var obj = { foo: function () {}};var foo = obj.foo;// 写法一obj.foo()// 写法二foo()上面代码中,虽然obj.foo和foo指向同一个函数,但是执行结果可能不一样。请看下面的例子。var obj = { fo...原创 2018-11-14 16:30:57 · 538 阅读 · 0 评论 -
JavaScript中Promise函数then的奥秘探究
Promise概述Promise对象是CommonJS工作组提出的一种规范,目的是为异步操作提供统一接口。那么,什么是Promises?首先,它是一个对象,也就是说与其他JavaScript对象的用法,没有什么两样;其次,它起到代理作用(proxy),充当异步操作与回调函数之间的中介。它使得异步操作具备同步操作的接口,使得程序具备正常的同步运行的流程,回调函数不必再一层层嵌套。简单说,...原创 2018-11-20 21:50:37 · 819 阅读 · 0 评论 -
Promise.all中对于reject的处理方法
写了个小爬虫,用axios.all同时请求多个页面时,国内网络的原因很容易就超时然后reject了,佛系resolve不可取啊,然后想到可以实现一个“重发失败请求”的功能。Promise.all(requestPromises).then(…).catch(…) 会在所有requestPromises都resolve时才会进then方法,并且把所有结果以一个数组返回。只要有一个失败,就会进cat...原创 2018-11-22 19:36:49 · 3583 阅读 · 0 评论 -
使用electron实现百度网盘悬浮窗口功能的示例代码
相关依赖里面使用了vuex vue vue-route storeJsstoreJs 用来持久化vuex状态展示相关依赖里面使用了vuex vue vue-route storeJsstoreJs 用来持久化vuex状态展示介绍说明没有使用electron内置的-webkit-app-region: drag 因为使用他那个有很多问题比如事件无法使用 右键无法使用...原创 2018-11-22 22:43:28 · 1401 阅读 · 0 评论 -
JavaScript 中的12种循环遍历方法
1、for 循环let arr = [1,2,3];for (let i=0; i<arr.length; i++){ console.log(i,arr[i])}// 0 1// 1 2// 2 3for 循环是 Js 中最常用的一个循环工具,经常用于数组的循环遍历。2、for in 循环let obj = {name:'zhou',age:'**'}for(let...原创 2018-11-26 11:16:44 · 563 阅读 · 0 评论 -
原生JS实现获取及修改CSS样式的方法
大家都知道在JavaScript原生操作中获取元素的样式,在实际操作是使用时比较频繁的一件事,这里像大家介绍下获取css样式的方法,希望可以帮助一些需要的人,如果有幸被大牛看到,有更好的办法,欢迎提出!!!一、行内元素样式获取:<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"...原创 2018-11-29 19:56:13 · 510 阅读 · 0 评论 -
浅谈JavaScript对象添加getter与setter的5种方法
定义 getter 与 setter1.通过对象初始化器在创建对象的时候指明(也可以称为通过字面值创建对象时声明)(function () { var o = { a : 7, get b(){return this.a +1;},//通过 get,set的 b,c方法间接性修改 a 属性 set c(x){this.a = x/2} }; console....原创 2018-12-04 21:28:33 · 600 阅读 · 0 评论 -
4个顶级开源JavaScript图表库
图表对于可视化数据和使网站具有吸引力非常重要。可视化演示使分析大块数据和传达信息变得更加容易。JavaScript图表库使你能够以易于理解和交互的方式可视化数据,并改善网站的设计。有四个顶级开源JavaScript图表库,你一定要Get!1.Chart.jsChart.js是一个开源JavaScript库,允许你在应用程序上创建动画,美观和交互式图表。它可以在MIT许可下获得。使用Chart...原创 2018-11-28 15:25:40 · 961 阅读 · 0 评论 -
JavaScript面试题大坑之隐式类型转换实例代码
1.1-隐式转换介绍在js中,当运算符在运算时,如果两边数据不统一,CPU就无法计算,这时我们编译器会自动将运算符两边的数据做一个数据类型转换,转成一样的数据类型再计算这种无需程序员手动转换,而由编译器自动转换的方式就称为隐式转换例如1 > "0"这行代码在js中并不会报错,编译器在运算符时会先把右边的"0"转成数字0`然后在比较大小1.2-隐式转换规则转成string类型: +(...原创 2018-12-12 21:58:30 · 538 阅读 · 0 评论 -
探究JS中Promise函数then的奥秘
Promise概述Promise对象是CommonJS工作组提出的一种规范,目的是为异步操作提供统一接口。那么,什么是Promises?首先,它是一个对象,也就是说与其他JavaScript对象的用法,没有什么两样;其次,它起到代理作用(proxy),充当异步操作与回调函数之间的中介。它使得异步操作具备同步操作的接口,使得程序具备正常的同步运行的流程,回调函数不必再一层层嵌套。简单说,它的...原创 2018-12-13 17:14:22 · 1110 阅读 · 0 评论 -
JS的console['']常用输入方法汇总
1、console.log是最常用的输入方法,正常化输出语句,还具有print占位符整数(%d||%i),浮点数(%f),对象(%o),字符(%s);2、console.error输出错误化的语句前端全栈学习交流圈:866109386,面向1-3经验年前端开发人员,帮助突破技术瓶颈,提升思维能力,群内有大量PDF可供自取,更有干货实战项目视频进群免费领取。3、console.info...原创 2018-12-06 22:19:53 · 541 阅读 · 0 评论 -
ES6与CommonJS中的模块处理的区别
ES6和CommonJS都有自己的一套处理模块化代码的措施,即JS文件之间的相互引用。为了方便两种方式的测试,使用nodejs的环境进行测试CommonJS的模块处理使用require来引入其他模块的代码,使用module.exports来引出// exportDemo.jscount = 1;module.exports.count = count;module.exports.H...原创 2018-12-15 21:38:11 · 598 阅读 · 0 评论 -
JS动态创建对象的属性详解
面向对象的JavaScript在客户端编码时提供了极大的灵活性,Javascript对象上的属性有助于设置可在对象内使用以管理和使用数据的值。我对JavaScript中属性的理解,在javascript中,可以通过在文字对象上定义变量来创建属性。例如var obj = { property1: '', property2: '' };现在可以通过使用来访问这些属性obj.p...原创 2018-12-22 15:57:12 · 2059 阅读 · 0 评论 -
开发能用到的JS封装方法
1、判断是否是一个数组function isArray(arr){return Object.prototype.toString.call(arr) ==='[object Array]';} isArray([1,2,3]) //true2、判断是否是一个函数(三种)function isFunction(fn) {return Object.prototype.toStr...原创 2018-12-29 14:58:51 · 382 阅读 · 0 评论 -
js for终止循环 跳出多层循环
今天写带代码的时候遇到一段代码,需要终止运行for,通过遍历json数据实现判断<script>var Tid="55555";var jb51cp = [{id:66666,Cpurl:"https://baidu.com"},{id:55555,Cpurl:"https://www.jb51.net"}]; for(var i = 0; i < jb5...原创 2018-12-24 19:43:42 · 5279 阅读 · 0 评论 -
手把手教你JavaScript-简单的页面输入控制
1.姓名只能是汉字var nameCheck =/^[\u4e00-\u9fa5]{2,21}$/;if(!nameCheck .test(name)){ alert("输入的'姓名'中含有非汉字字符!"); return false; }2.简单的身份证校验(校验内容包括数字,位数,以及末尾的x,X)var idNoCheck = /(^\d{...原创 2018-12-30 18:13:18 · 763 阅读 · 0 评论 -
JavaScript数据类型检测总结
在js中,有四种用于检测数据类型的方式,分别是:typeof 用来检测数据类型的运算符instanceof 检测一个实例是否属于某个类constructor 构造函数Object.prototype.toString.call() 原型链上的Object对象的toString方法下面我们就来分别介绍一下上面四种方法的适用场景和局限性。typeof 用来检测数据类型的运...原创 2018-12-31 20:05:29 · 925 阅读 · 1 评论 -
JavaScript实现构造json数组的方法分析JavaScript实现构造json数组的方法分析
本文实例讲述了JavaScript实现构造json数组的方法。分享给大家供大家参考,具体如下:从后端拿到的数据是一个数组,每个元素中包含的数据如下(host相同的记录都是相邻的)currentTime:“1470729601”host:“10.3.34.21”taskList:nulltaskNum:1想构造类似如下结构的json数组[{ name: 'host:10.1.6...原创 2018-12-31 20:15:56 · 3443 阅读 · 0 评论 -
JavaScript原型链与继承操作实例总结
本文实例讲述了JavaScript原型链与继承操作。分享给大家供大家参考,具体如下:1. JavaScript继承JavaScript继承可以说是发生在对象与对象之间,而原型链则是实现继承的主要方法;1.1 原型链利用原型让一引用类型继承另一个引用类型的属性和方法。构造函数中有个prototype(每个函数中都有),指向他的原型对象,每个原型对象中也有一个constructor属性,指向...原创 2018-12-31 20:25:58 · 525 阅读 · 0 评论 -
详解JavaScript添加给定的标签选项
代码实现:HTML代码:<h3>haveTags</h3><div id="havetags"></div><hr /><h3>addTags</h3><div id="addtags"></div>&a原创 2018-12-31 20:35:05 · 527 阅读 · 2 评论 -
原生JavaScript实现form表单序列化的方法
当我们有form表单而且里面的表单元素较多时,咱们总不能一个个去获取表单元素内的值来进行拼接吧!这样会很让人蛋疼!为了方便与后台交互并且提高自己的开发效率,并且不让你蛋疼;我们一起用原生来写一个表单序列化方法:先介绍一下jquery中有相应的表单序列化的方法:1.serialize()方法格式:var data = $(“form”).serialize();功能:将表单内容序列化成一个字...原创 2018-12-31 20:47:56 · 1269 阅读 · 0 评论 -
JavaScript中发出HTTP请求最常用的方法
JavaScript具有很好的模块和方法来发送可用于从服务器端资源发送或接收数据的HTTP请求。在本文中,我们将介绍一些在JavaScript中发出HTTP请求的流行方法。AjaxAjax是发出异步HTTP请求的传统方式。可以使用HTTP POST方法发送数据,并使用HTTP GET方法接收数据。我们来看看发送GET请求。我将使用JSONPlaceholder,这是一个免费的在线REST AP...原创 2019-01-10 19:35:35 · 3853 阅读 · 0 评论