随笔分类 - javascript
摘要:[TOC] 概述 JavaScript(ECMAScript标准)里共有5种基本类型: 和一种复杂类型 。 JavaScript的设计者希望用 表示一个空的值,而 表示值未定义。事实证明,这并没有什么卵用,区分两者的意义不大。大多数情况下,我们都应该用 。`undefined`仅仅在判断函数参数是否
阅读全文
摘要:一. async/await 相对 promise 的优势 拥有更通用的作用域,使得代码有更好的易读性和可维护性。 由于其链式调用,每一个函数都有自己的作用域,如果在多层链式调用的层级中,相隔两层的链需要有相互依赖关系,则需要额外的参数传递。 场景如下: 假设有 p1 、 p2 、 p3 三个异步操
阅读全文
摘要:一、对象 JavaScript简单类型有数字、字符串、布尔值、null、undefined,其他所有的值都是对象(数组、函数、正则表达式都是对象)。 数字、字符串、布尔值虽然拥有方法(包装对象),但并不是对象。 包装对象: 每当读取一个基本类型值的时候,后台会创建一个对象的基本包装类型的对象,从而能
阅读全文
摘要:Function.prototype.toString这个原型方法可以帮助你获得函数的源代码, 比如: 输出: 这个方法真是碉堡了…, 通过合适的正则, 我们可以从中提取出丰富的信息. 函数名 函数形参列表 函数源代码 这些信息提供了javascript意想不到的灵活性, 我们来看看野生的例子吧.
阅读全文
摘要:基本上,javascript中所有数据类型都拥有valueOf和toString这两个方法,null除外。它们俩解决javascript值运算与显示的问题,本文将详细介绍,有需要的朋友可以参考下。 toString() toString()函数的作用是返回object的字符串表示,JavaScrip
阅读全文
摘要:什么是 Page Visibility ? Page Visibility 即页面可见性,通过 visibilityState 的值检测页面当前是否可见。当一个网站是可见或点击选中的状态时 Page Visibility API 可以让你获取到这种状态,当用户最小化网页或者浏览到其他标签的网页时,A
阅读全文
摘要:Web Worker javascript多线程编程(一)中提到有两种Web Worker:专用线程dedicated web worker,以及共享线程shared web worker。不过主要讲了专用线程dedicated web worker,并未提及共享线程shared web worke
阅读全文
摘要:什么是Web Worker? web worker 是运行在后台的 JavaScript,不占用浏览器自身线程,独立于其他脚本,可以提高应用的总体性能,并且提升用户体验。 一般来说Javascript和UI页面会共用一个线程,在HTML页面中执行js脚本时,页面的状态是不可响应的,直到脚本已完成。而
阅读全文
摘要:什么是事件委托:通俗的讲,onclick,onmouseover,onmouseout,等就是事件,委托呢,就是让别人来做,这个事件本来是加在某些元素上的,然而你却加到别人身上来做,完成这个事件。 也就是:利用冒泡的原理,把事件加到父级上,触发执行效果。 好处1,提高性能。 先看一个例子:需要触发每
阅读全文
摘要:事件类型分类: 1 添加在html结构中的事件 点击div1之后弹出 append click event in html;其实在html结构中添加的事件也属于dom0级事件。 2 dom0级事件处理 点击div1之后只弹出 second dom0;说明dom0级事件后面赋值的事件会覆盖掉前面的 如
阅读全文
摘要:1 当函数作为对象的方法被调用的时候 this就指向该对象 上面的例子中,当 o.f() 被调用时,函数内的this将绑定到o对象。 在何处或者如何定义调用函数完全不会影响到this的行为。在上一个例子中,我们在定义o的时候为其成员f定义了一个匿名函数。但是,我们也可以首先定义函数然后再将其附属到o
阅读全文
摘要:按位运算符是把操作数看作一系列单独的位,而不是一个数字值。所以在这之前,不得不提到什么是“位”: 数值或字符在内存内都是被存储为0和 1的序列,每个0和1被称之为1个位,比如说10进制数据2在计算机内被存储为 0 0 0 0 0 0 1 0,当我们将内存内的位值改变之后,这个值代表的意义也就变了,比
阅读全文
摘要:该方法属于ES5规范,如果浏览器环境不支持也可以自行实现,如下: 下面的例子演示了如何使用Object.create()来实现类式继承。这是一个单继承:
阅读全文
摘要:封装是实现面向对象程序设计的第一步,封装就是将数据与函数等集合在一个个的单元中(我们称之为类)。被封装的对象通常被称为抽象数据类型。 在传统的面向对象语言中有访问修饰符,如Private:只有类本身能存取.Protected:类和派生类可以存取.Public:完全存取. 那么在没有这些访问修饰符的j
阅读全文
摘要:JavaScript的函数定义有个特点,它会先扫描整个函数体的语句,把所有申明的变量“提升”到函数顶部: 虽然是strict模式,但语句var x = 'Hello, ' + y;并不报错,原因是变量y在稍后申明了。但是alert显示Hello, undefined,说明变量y的值为undefine
阅读全文

浙公网安备 33010602011771号