随笔分类 - JavaScript
摘要:1、概述 Object.assign方法用于对象的合并,将源对象(source)的所有可枚举属性,复制到目标对象(target)。 注意,如果目标对象与源对象有同名属性,或多个源对象有同名属性,则后面的属性会覆盖前面的属性。 2、示例
阅读全文
摘要:1、原理 使用JSON,当然需要JSON安全的格式,JSON安全请参考:http://www.cnblogs.com/mengfangui/p/8257269.html 2、示例
阅读全文
摘要:一个图讲清楚JavaScript中this指向: 说明: (1)严格模式下,禁止this关键字指向全局对象会报错。 (2)闭包中的this对象具有全局性,因此通常指向window。 (3)优先级:new>apply/call>.调用>默认调用 (4)null/undefined,在使用apply或者
阅读全文
摘要:1、调用栈 js中的this与函数调用栈密切相关。 this实在函数调用时发生的绑定,它指向完全取决于函数在哪里被调用。 2、示例 <!DOCTYPE html> <html lang="zh"> <head> <meta charset="UTF-8" /> <title>查看调用栈</title
阅读全文
摘要:1、概念 词法作用域:定义在词法阶段的作用域,即书写代码时函数声明的位置决定的。词法分析器处理代码时会保持作用域不变(大部分是这样的),会知道全部标识符在哪里以及如何声明的,从而预测在执行过程中如何对他们进行查找。 示例代码: 2、作用域查找 作用域会在找到第一个标识符时停止,存在“遮蔽效应”。 3
阅读全文
摘要:1、概述 闭包实质:将内部函数传递到所在的词法作用域以外,内部函数仍然持有对原始定义作用域的引用。 2、应用 (1)定时器 (2)事件监听器 (3)ajax (4)异步(同步)操作 只要使用了回调函数,实际上就是使用了闭包。 (5)模块 总结: 函数可以记住并访问所在的词法作用域,即使函数是在当前词
阅读全文
摘要:1、7个“坑” 2、避免坑的原则 (1)如果两边有true或者false,千万不要使用== (2)如果两边有[],''或者0,千万不要使用== (3)最好都使用 ,来避免强制转换的坑!
阅读全文
摘要:在==(相等)判断中,null和undefined相等(它们也与自身相等),除此之外不与其他值相等。 示例代码: 判断对象是null,Object,Date Object.prototype.toString.call(dateObj) !== '[object Date]'
阅读全文
摘要:1、概述 ||(或)和&&(与)都是逻辑运算符。但是或/与叫“逻辑运算符”不太合适,叫“操作数运算符”更合适! 因为||(或)和&&(与)返回的不是布尔值,而是两个操作数中的一个(且仅一个)。 2、返回哪个操作数? (1)a||b a||b 相当于a?a:b (2)a&&b a&&b相当于a?b:a
阅读全文
摘要:1、JSON字符串化 JSON字符串化有2个可选参数,分别是replacer和space。 第一个可选参数replacer,它可以是数组或者函数。用来指定哪些属性被处理,哪些属性被排除。 第二个可选参数space,用来指定缩进格式,space为正整数时指定每一级缩进的字符数。它还可以是字符串。 2、
阅读全文
摘要:1、JavaScript原生函数(内置函数) JavaScript原生函数(内置函数)有: 2、创建内置函数 注意Symbol不使用new进行创建。
阅读全文
摘要:1、概述 所有的typeof返回值为‘object’的对象都包含一个内部属性[[Class]],我们将它可以看做内部的分类,而非传统面向对象意义的分类。这个属性无法直接访问,一般通过Object.prototype.toString来查看。 2、示例代码
阅读全文
摘要:1、概述 简单值(基本类型)通过值复制的方式来赋值/传递。 复合值(对象)通过引用复制的方式来赋值/传递。 结合内存示意图,理解会更深刻。 简单类型的值在常量池只有一份,变量a和变量b都是常量池中2的一个副本。 变量c和变量d都是指向堆中的一个数组对象。
阅读全文
摘要:slice和Array.form方法,具体见示例代码:
阅读全文
摘要:js中变量是没有类型的,只有值才有类型。 变量随时可以持有任何类型的值。
阅读全文
摘要:1、示例代码 2、说明 sayColor() 调用 bind() 并传入对象 o ,创建了 o bjectSayColor() 函数。 object-SayColor() 函数的 this 值等于 o ,因此即使是在全局作用域中调用这个函数,也会看到 "blue" 。 3、与call、apply区别
阅读全文
摘要:一、JavaScript内存示意图 二、js原理 1、js执行规则 (1)先定义 定义变量、定义函数。顺序:自上而下。 (2)后执行 除了定义外的代码都是执行代码。顺序:自上而下。 2、动态开辟内存 (1)动态开辟内存使得局部作用域形成。 (2)作用域链查找过程:局部到全局 (3)闭包:可以访问局部
阅读全文
摘要:JSON 对值的类型和格式有严格的规定。 以下是合格的 JSON 值: 以下是不合格的 JSON 值: JavaScript 对象和 JSON 的关系 JavaScript 对象的字面量写法只是长的像 JSON 格式数据,二者属于不同的范畴,JavaScript 对象中很多类型(函数、正则、Date
阅读全文
摘要:scrollBy可以相对当前位置移动滚动条,而不是移动到绝对位置
阅读全文

浙公网安备 33010602011771号