摘要:立即执行函数 //声明一个普通函数 fn function fn(){ console.log("hello"); } /*然后将函数的名字去掉即是匿名函数*/ //匿名函数,直接运行时会发现报错啦! function (){ console.log("hello"); } /**单独运行一个匿名函
阅读全文
摘要:闭包是一个重要的 JS 模式,可以私有访问变量 function createGreeter(greeting) { return function(name) { console.log(greeting + ', ' + name); } } const sayHello = createGre
阅读全文
摘要:constructor 属性 返回所有JavaScript 变量的构造器函数 "Bill".constructor // 返回 "function String() { [native code] }" (3.14).constructor // 返回 "function Number() { [n
阅读全文
摘要:可以使用 typeof 运算符来确定 JavaScript 变量的数据类型 请注意: 1、NaN 的数据类型是数值 2、数组的数据类型是对象 3、日期的数据类型是对象 4、null 的数据类型是对象 5、未定义变量的数据类型是 undefined 因此,您无法使用 typeof 去判断对象是哪一种类
阅读全文
摘要:JavaScript 数据类型 JavaScript 中有五种可包含值的数据类型: 字符串 String 数值 Number 布尔 Boolean 对象 Object 函数 Function 同时,有两种不能包含值的数据类型 Null Undefined 对象类型包括, 对象 Object 日期 D
阅读全文
摘要:什么叫做回调地狱 回调地狱,在js里,在异步js里,回调函数写的太多了,回调套回调,然后很难凭直觉看懂代码。 举一个回调地狱的例子 show(() => { hide(() => { show(() => { hide(() => { show(() => { dra() }) }) }) }) }
阅读全文
摘要:nextTick 例 <template> <view class="app"> <view ref="msgview" style="color:red;">{{msg}}</view> <view v-if="msg1">Message got outside $nextTick: {{msg1
阅读全文
摘要:防抖和节流严格算起来属于性能优化的知识,但实际上遇到的频率相当高的。 以一个滚动条监听的例子说起 先说一个常见的功能,很多网站会提供这么一个按钮:用于返回顶部。 这个按钮只会在滚动到距离顶部一定位置之后才出现,那么我们现在抽象出这个功能需求 监听浏览器滚动事件,返回当前滚条与顶部的距离。 这个需求很
阅读全文
摘要:BOM 是browser object model的缩写,简称浏览器对象模型,提供了独立于内容而与浏览器窗口进行交互的对象; 1、window 对象, 是JS的最顶层对象,其他的 BOM 对象都是 window 对象的属性; 2、document 对象,文档对象 3、location 对象, 浏览器
阅读全文
摘要:for in 和 for of 两个for循环都是用来 ”遍历“ 的 for in 示例 let arr = ["Math", "English", "History"]; console.log("for in <= example"); for (let arrItem in arr) { co
阅读全文
摘要:Generator 函数是ES6提供的一种异步编程解决方案。 Generator 语法行为与传统函数完全不同。 Generator 函数有多种理解角度。语法上,首先可以把它理解成,Generator函数是一个状态机,封装了多个内部状态。 执行Generator函数会返回一个遍历器对象,也就是说,Gn
阅读全文
摘要:ES6允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被成为解构; 以前,为变量赋值,只能直接指定值 let a = 1; let b = 2; let c = 3; ES6 允许写成下面这样 let [a, b, c] = [1, 2 ,3] 上边代码表示,可以从数组中提取值,对变量赋值
阅读全文
摘要:ECMAScript是ECMA International定义的商标脚本语言规范。 创建它是为了标准化JavaScript。 ES脚本语言具有许多实现,流行的实现是JavaScript。 通常,ECMAScript用于万维网的客户端脚本。ES5是ECMAScript 5的缩写;ES6是JavaScr
阅读全文
摘要:JS判断字符串是否全部为数字 val = "123456" var isnum = /^\d+
/.test(val);val="1232232"varisnum;varreg=/[0−9]+.?[0−9]∗/ isnum = reg.test(val);
阅读全文
摘要:nextTick 场景 在Vue生命周期的created()钩子函数进行的DOM操作一定要放在Vue.nextTick()的回调函数中,因为在created()钩子函数执行的时候DOM 其实并未进行任何渲染,而此时进行DOM操作无异于徒劳,所以此处一定要将DOM操作的js代码放进Vue.nextTi
阅读全文
摘要:nextTick和setTimeout对比 (代码编译 uni-app小程序) 例1 this.$nextTick(()=>{ console.log("2"); this.$nextTick(function(){ console.log("4"); setTimeout(()=>{ consol
阅读全文
摘要:变量未定义时, 其被赋为undefined let aaa; console.log("undefined ...",undefined); console.log("aaa ...", aaa); if(aaa==undefined){ console.log("aaa == undefined"
阅读全文
摘要:同步和异步是从事件触发,执行顺序来讲 对开发有感知, 同步:任务的执行顺序是线性的, 异步:任务的执行顺序是并行的 阻塞和非阻塞是从线程角度来讲 对开发没有感知, 阻塞,执行任务,给出结果后,继续下面的执行任务 非阻塞,执行任务,不必等待结果,就可以继续执行
阅读全文
摘要:1、Object.is() ES5只有两个运算符:== 相等运算符 严格相等运算符。它们都有缺点,前者会自动转换数据类型,后者的NaN不等于自身,以及+0等于-0。JavaScript缺乏一种运算,在所有环境中,只要两个值是一样的,它们就应该相等。 ES6里Object.is部署这个算法的新方法,用
阅读全文