摘要:1.事件队列(宏任务、微任务) 为什么js是单线程? 作为浏览器脚本语言,JavaScript的主要用途是与用户互动,以及操作DOM。这决定了它只能是单线程,否则会带来很复杂的同步问题。比如,假定JavaScript同时有两个线程,一个线程在某个DOM节点上添加内容,另一个线程删除了这个节点,这时浏
阅读全文
摘要:这两个都是为了JS模块化编程使用. 遵循规范 require 是 AMD规范引入方式 import是es6的一个语法标准,如果要兼容浏览器的话必须转化成es5的语法 调用时间 require是运行时调用,所以require理论上可以运用在代码的任何地方 import是编译时调用,所以必须放在文件开头
阅读全文
摘要:函数防抖(debounce):触发高频事件后n秒内函数只会执行一次,如果n秒内高频事件再次被触发,则重新计算时间。 函数节流(throttle):高频事件触发,但在n秒内只会执行一次,所以节流会稀释函数的执行频率。 函数节流(throttle)与 函数防抖(debounce)都是为了限制函数的执行频
阅读全文
摘要:前言 http://jafeney.com/2016/07/10/2016-07-10-webpack/ webpack 是个好东西,和 NPM 搭配起来使用管理模块实在非常方便。而 Babel 更是神一般的存在,让我们在这个浏览器尚未全面普及 ES6 语法的时代可以先一步体验到新的语法带来的便利和
阅读全文
摘要:document.addEventListener("DOMContentLoaded", function (_event) { console.log("初始DOM 加载并解析"); }); window.addEventListener("load", function (_event) {
阅读全文
摘要:在 JS 中有一些基本类型像是Number、String、Boolean,而对象就是像这样的东西{ name: 'Larry', skill: 'Node.js' },对象跟基本类型最大的不同就在于他们的传值方式。 基本类型是按值传递,像是这样:在修改a时并不会改到b 但对象就不同,对象传的是按引用
阅读全文
摘要:正则表达式常用表达式(一):匹配中间字符串 匹配两个字符串A与B中间的字符串包含A与B: 表达式: A.*?B 示例: Abaidu.comB 结果: Awww.apizl.comB 匹配两个字符串A与B中间的字符串包含A但是不包含B: 表达式: A.*?(?=B) 示例: Awww.apizl.c
阅读全文
摘要:【安装】 1 npm install -g browser-sync npm install -g browser-sync 【静态项目使用browsersync】 自己可以去browsersync官网查看,其实使用很简单,总结下就是: 1 browser-sync start --server -
阅读全文
摘要:很多初学者对于JavaScript中的offset、scroll、client一直弄不明白,虽然网上到处都可以看一张图(图1),但这张图太多太杂,并且由于浏览器差异性,图示也不完全正确。 图一 不知道大家看到这张图的第一感觉如何,反正我的感觉就是“这次第,怎一个乱字了得”。 既然我认为上图太多太乱,
阅读全文
摘要:Cross-Origin Resource Sharing 跨域资源共享 Cross-Origin Resource Sharing,跨域资源共享,简称 CORS。CORS系统定义了一种浏览器和服务器交互的方式来确定是否允许跨域请求。跨域资源共享是一种网络浏览器的技术规范,它为Web服务器定义了一
阅读全文
摘要:if(data=="ios"){ var _this = $(".publish"); //无键盘时输入框到浏览器窗口顶部距离 var noInputViewHeight = $(window).height() - $(_this).height(); //网页正文内容高度 va...
阅读全文
摘要:整个安装过程: 1. jdk 1.7.2 (http://www.oracle.com/technetwork/java/javase/downloads/index.html) 安装好之后环境变量配置: 新建系统变量JAVA_HOME 和CLASSPATH 变量名:JAVA_HOME 变量值:C:
阅读全文
摘要:npm(简称:Node Packaged Modules)是nodejs官方未nodejs定制的一个工具,是Node.js的包管理器,通过npm可以下载安装nodejs的模块包,nodejs有很多优秀的模块包可以让开发这快速开发。 nodejs 的安装方法,到node.js 的官方下载node.ex
阅读全文
摘要:jQuery中的Ajax不能支持 input file 需要用ajaxupload.js但是先需要引入jQuery文件 HTML代码很简单: js代码:
阅读全文
摘要:1》全局控制//向上滑动显示 var initTop = 0; var i = 1; $(window).scroll(function(){ var scrollTop = $(document).scrollTop(); ...
阅读全文
摘要:1. 判断表单元素是否存在(一) if("periodPerMonth" in document.theForm){ return true; }else{ return false; } 2. 判断页面元素是否存在 if(document.getElementById("XXX")){ //存在 ...
阅读全文
摘要:JSON字符串:var str = '{ "name": "cxh", "sex": "man" }';JSON对象:var str = { "name": "cxh", "sex": "man" };一、JSON字符串转换为JSON对象//由JSON字符串转换为JSON对象方法一: var obj...
阅读全文
摘要:设置Cookie时要把一个json整体放入Cookie而不是单独放入,影响效率。var Cookies = {}; /** * 设置Cookies */ var Cookies = {}; /** * 设置Cookies */ Cookies.set = function(name...
阅读全文
摘要:js数组的操作用 js有很久了,但都没有深究过js的数组形式。偶尔用用也就是简单的string.split(char)。这段时间做的一个项目,用到数组的地方很多, 自以为js高手的自己居然无从下手,一下狠心,我学!呵呵。学了之后才知道,js数组的功能强大很,远比VB,C#强多了,大家慢慢看吧1、数组...
阅读全文