javascript
文章平均质量分 57
陨石猎人
向世界交付你的价值,并得到回报
展开
-
最优的JS甘特图插件【转载】
甘特图转载 2022-09-13 17:18:17 · 3583 阅读 · 3 评论 -
js 微观任务、宏观任务、循环机制
javascript是单线程语言,就是因为单线程的特性;就不得不提js中的同步和异步。同步和异步:所谓单线程,无非就是同步队列和异步队列,js代码是自上向下执行的,在主线程中立即执行的就是同步任务,比如简单的逻辑操作及函数,而异步任务不会立马立马执行,会挪步放到到异步队列中,比如ajax、promise、事件、计时器等等。先执行同步,主线程结束后再按照异步的顺序再次执行。事件循环:同步任务进入主线程,立即执行,执行之后异步任务进入主线程,这样循环。宏观任务和微观任务(先执行微观任务,再执行宏观任务原创 2021-07-08 14:22:14 · 910 阅读 · 0 评论 -
理解和使用ES6中的Symbol
ES6中引入了一种新的基础数据类型:Symbol,不过很多开发者可能都不怎么了解它,或者觉得在实际的开发工作中并没有什么场景应用到它,那么今天我们来讲讲这个数据类型,并看看我们怎么来利用它来改进一下我们的代码。这是一种新的基础数据类型(primitive type)Symbol是由ES6规范引入的一项新特性,它的功能类似于一种标识唯一性的ID。通常情况下,我们可以通过调用Symbol()函数来创建一个Symbol实例:let s1 = Symbol()或者,你也可以在调用Symbol()转载 2020-07-28 11:00:57 · 192 阅读 · 1 评论 -
JS获取当前时间戳的方法
JavaScript 获取当前时间戳:第一种方法:var timestamp = Date.parse(new Date());第二种方法:var timestamp = (new Date()).valueOf();第三种方法:var timestamp=new Date().getTime();第一种:获取的时间戳是把毫秒改成000显示,第二种和第三种是获取了当前毫...原创 2018-12-19 10:42:59 · 744 阅读 · 0 评论 -
微信浏览器禁止页面下拉查看网址(不影响页面内部盒子滚动)
微信浏览器默认用户下拉,会出现页面来源,如图. 一般H5游戏中, 为了用户体验必须禁止. 注意 禁止的话,必须禁止手指触摸事件, 使得微信浏览器无法检测,但是很多情况下,我们可能在页面的某个盒子下,会有滚动条, 所以会冲突使得滚动条无法滚动. 为了禁止下拉出现网址,且不影响滚动条,看下面的代码.<script> window.on...原创 2019-01-08 18:58:30 · 4693 阅读 · 1 评论 -
js时间戳转 Y-M-D h:m:s
方法function formatDate(now) { var y,m,d; y = now.getFullYear(), m = now.getMonth() + 1, d = now.getDate(); return y + "-" + (m < 10 ? "0" + m : m) + "-" + (d < 10 ...原创 2019-02-28 17:58:02 · 1564 阅读 · 0 评论 -
js 二分查找
二分法查找,必须要求数组为有序数组./** js二分法查找 **/ function binarySeach( arr,val,leftIndex,rightIndex ){ // arr ==>要检索的数组, // val ==>...原创 2019-03-13 18:42:49 · 238 阅读 · 1 评论 -
js-ES6学习笔记-Class
1. es6提供了更接近传统语言的写法, 引入了Class(类)这个概念,作为对象的模板,通过class关键字,可以定义类.2.定义类//定义类class Point{ constructor(x,y){ this.x=x; this.y=y; } toString(){ return '('+this.x+','+thi...原创 2019-03-26 17:53:45 · 270 阅读 · 0 评论 -
使用 Promise 封装小程序网络请求
公共方法一般写在util.js里面。 封装:function requestFun(type,url,data){ var data=new Promise(function(resolve,reject){ wx.request({ url: 'https://api.audiobook.dev.taozhi.cn' + url, method: ...原创 2019-04-29 10:41:16 · 868 阅读 · 0 评论 -
理解js执行的过程:JS运行三部曲
1.语法分析 先全部扫一遍 看有没有语法错误.2.预编译(执行前一刻) 变量 声明提升 函数声明整体提升 预编译的前奏 imply global 暗示全局变量:即任何变量,如果变量未经声明就赋值,此变量就为全局对象(window)所有。预编译的四部曲:1.创建GO/AO对象2.找形参和变量声明,将变量和...原创 2019-06-05 11:52:56 · 1297 阅读 · 1 评论 -
babel编译JS文件------------JS浏览器兼容问题处理(解决低版本浏览器对es语法的兼容)
Babel 是一个 JavaScript 编译器Babel 是一个工具链,主要用于将 ECMAScript 2015+ 版本的代码转换为向后兼容的 JavaScript 语法,以便能够运行在当前和旧版本的浏览器或其他环境中。1.安装node,初始化项目 npm init -y2.安装babel-cli npm i @babel/core @babel/cli @bab...原创 2019-07-05 17:28:10 · 3978 阅读 · 0 评论 -
js判断手机还是电脑
function fit() { var sUserAgent= navigator.userAgent.toLowerCase(); var bIsIpad= sUserAgent.match(/ipad/i) == "ipad"; var bIsIphoneOs= sUserAgent.match(/iphone os...原创 2018-11-15 10:55:18 · 666 阅读 · 0 评论 -
js从所给数字中随机选几个数
例: 从0~9十个数字中随机选出5个数 var arr = [0,1,2,3,4,5,6,7,8,9]; var out = []; var num = 5; while(out.length < num){ var temp = (Math.random()*arr.length) >> 0; out.push(a...原创 2018-06-26 09:37:27 · 8508 阅读 · 0 评论 -
写出一个函数,返回0-20之间的随机整数
直接看代码。 function suiji(){ var a= Math.floor(Math.random()*21); // Math.random() 返回 大于或等于0 且 小于1 的小数, 如果我们要返回0-20的数,就必须乘以 21, 取整的时候就得注意了,因为有可能出现大于...原创 2018-08-14 16:22:18 · 5798 阅读 · 0 评论 -
如何改变this 指向
1.使用局部变量来代替this指针 var name = "lz"; var obj = { name : "lz", say : function(){ var _this = this;//使用一个变量指向 this setTimeout(function(){ co...原创 2018-08-14 16:26:20 · 335 阅读 · 0 评论 -
前端,手机号码归属地查询
使用淘宝接口 发送ajax请求。$.ajax({ type: "get", url: 'http://tcc.taobao.com/cc/json/mobile_tel_segment.htm?tel='+tel, //tel为你输入的号码 dataType: "jsonp", ...原创 2018-08-22 12:41:59 · 2173 阅读 · 1 评论 -
返回上一页并刷新
直接复制代码即可, $(document).ready(function(e) { var counter = 0; if (window.history && window.history.pushState) { $(window).on('popsta...原创 2018-08-28 01:52:33 · 153 阅读 · 0 评论 -
js 返回网页顶部
这里只有一点点延缓效果,主要为了给大家说一下逻辑,scrollToptimer = setInterval(function () { //获取当前页面高度 var top = document.body.scrollTop || document.documentElement.scrollTop; //每次滚动的距离seed. var speed = to...原创 2018-09-04 17:44:47 · 187 阅读 · 0 评论 -
事件冒泡、事件捕捉
事件捕获 通俗来说:就是给子元素绑定的click事件,在点击父元素时却触发了. 术语:指的是从document到触发事件的那个节点,即自上而下的去触发事件。 事件冒泡 通俗来说:就是给父元素绑定的click事件,在点击子元素时却触发了. 术语:事件冒泡刚好相反,是从触发事件的那个节点一直到document,是自下而上的去触发...原创 2018-09-04 18:05:19 · 94 阅读 · 0 评论 -
判断手机横屏竖屏,切换时刷新一次页面
有些时候我们前端需要监听用户手机横屏还是竖屏放置, 这个不难但是当我们切换横屏或者竖屏的时候,也许会涉及到刷新页面,我们不可以直接在js中写window.location.reload(); 因为这可能导致页面循环不断的刷新,所以就需要用某个变量控制,但是这个变量在页面刷新的时候不可以影响它的值, 所以我在这用到了 localStorage 缓存的方法。<scrip...原创 2018-09-02 20:02:14 · 4099 阅读 · 7 评论 -
js判断当前打开的是手机还是pc浏览器
function IsPC() { var userAgentInfo = navigator.userAgent; var Agents = ["Android", "iPhone", "SymbianOS", "Windows Phone", "iPad", "iPod"]; var flag =原创 2018-09-10 13:46:42 · 25238 阅读 · 2 评论 -
localStorage、sessionStorage缓存机制
localStorage 生命周期是永久,这意味着除非用户显示在浏览器提供的UI上清除localStorage信息,否则这些信息将永远存在。存放数据大小为一般为5MB,而且它仅在客户端(即浏览器)中保存,不参与和服务器的通信sessionStorage 仅在当前会话下有效,关闭页面或浏览器后被清除。存放数据大小为一般为5MB,而且它仅在客户端...原创 2018-09-07 14:48:36 · 1273 阅读 · 0 评论 -
什么是闭包,闭包有什么应用特性.
闭包就是能够读取其他函数内部变量的函数。在本质上,闭包就是将函数内部和函数外部连接起来的一座桥梁。 通俗点讲: 闭包就是你的女人红杏出墙, 外人可以很轻易的通过它了解你家里的情况, 甚至指示她改变你的家, 只要你还没离婚, 你家就会被一直拖着, 这个状态很容易出问题. 但外人用着却很方便..... 在js中,函数内部可直接...原创 2018-06-22 10:54:20 · 2683 阅读 · 1 评论