随笔分类 - 深入理解javascript
摘要:setTimeout(function(){ console.log('立即执行setTimeout'); }, 0); var d = new Date().getTime(); while(true) { var dd = new Date().getTime(); if( ( dd - d )
阅读全文
摘要:类型 null, undefined, number, string, boolean, object, symbol typeof 的值永远返回的是一个字符串 typeof undefined 'undefined' typeof 42 'number' tyeeof 'good' 'string
阅读全文
摘要:Object.assign() 方法用于将所有可枚举属性的值从一个或多个源对象复制到目标对象, 并返回目标对象 var a = { name: 'zhangsan', age: 123 }; var b = { name: 'lisi', age: 456, value: 'pengsn' }; v
阅读全文
摘要:this关键字 分析如下代码,执行同一函数,输出结果是什么? this实际上是在函数被调用时发生的绑定关系,它指向什么完全取决于函数在哪里被调用? this绑定规则 默认绑定 在非严格模式下,无法应用其他绑定规则的情况下啊,this默认绑定为window 隐式绑定 调用位置是否有上下文对象 当函数引
阅读全文
摘要:我所理解的作用域就是你所申明的变量、函数住在哪里?程序在需要的使用如何能够找到他们?而设计的这套规则即为作用域 而javascript是一门解释性语言,是在执行的前很短时间内编译再执行。 从以下方面来分析javascript的作用域 编译原理 编译规则 遇到变量声明,优先询问作用域下是否存在一个该变
阅读全文
摘要:Cookie 限制:1K左右 Cookies只能是字符串,储存空间有限,每次HTTP接受和发送都会传递Cookies数据,它会占用额外的流量 IE 用户数据 限制: 每个文档最多128K WEB存储机制 限制: 不同浏览器环境可能不同,最小应该也有1M IndexedDB indexedDB很适合存
阅读全文
摘要:setTimeout/setInterval 简单地说setTimeout()指在指定时间后执行一次指定函数,setInterval()指每隔一段所指定的时间执行一次指定函数, 两个方法都称为定时器,不是ECMAScript的内容,而是属于BOM setTimeout MDN语法 https://d
阅读全文
摘要:类型检测 javascript作为一门弱类型语言,变量申明的时候不会直接指定数据类型,而是在执行过程中会根据赋值的数据来确定数据类型 但业务逻辑操作过程中,可能会假定某种数据类型,所以需要提前校验数据类型 在javascript中有多种方式可以检测变量数据类型,下面将针对多种方式一一进行分析 类型检
阅读全文
摘要:问题引入 当页面代码需要重复调用某个函数来反馈事件处理函数, 而【实现逻辑是通过多个if判断】来处理的情况下, 可以通过惰性载入函数的方式来实现. 示例如下 惰性载入函数 针对以上问题,由于每次执行的时候,if条件固定不变的情况下,执行的时候每次都是在重复检测; 惰性载入: 表示函数执行的分支仅会运
阅读全文