随笔分类 - JavaScript
摘要:前言 如果统计一番前端最常用的方法,那么 console.log 一定位列其中。无论你写的是原生 JS 亦或者是 JQuery、Vue等等,调试之时,都离不开 console.log 方法。但是,console 对象中的方法不仅仅只有 log 方法。强大的 console 对象提供了大量控制台调试的
阅读全文
摘要:原文地址:https://medium.com/javascript scene/rethinking unit test assertions 55f59358253f 作者: "Eric Elliott" 「断言」是编程术语,表示为一些布尔表达式,程序员相信在程序中的某个特定点该表达式值为真,可
阅读全文
摘要:class 的前世今生 在 es6 之前,虽然 JS 和 Java 同样都是 OOP (面向对象)语言,但是在 JS 中,只有对象而没有类的概念。 在 JS 中,生成实例对象的传统方法是通过构造函数,如下所示: 对比传统 OOP 语言中的类写法,这种写法让许多学过其他 OOP 语言的 JS 初学者感
阅读全文
摘要:浅谈CORS CORS全称“跨站资源共享”(Cross Origin Resource Sharing),它允许浏览器克服浏览器同源策略向跨域服务器发出请求。 同源策略 概念 说到CORS,那么就不得不提浏览器同源策略,所谓“同源”,是指服务器URL的三个相同: 1.协议相同 2.域名相同 3.端口
阅读全文
摘要:简介 History对象最初设计用来表示窗口的浏览历史,但是,出于隐私方面的原因,History对象不再允许脚本访问已经访问过的实际URL。虽然,我们不清楚历史URL,但是,我们可以通过History对象的内置属性方法进行跳转。 对象属性 length 该属性代表着浏览器历史列表中的URL数量。初始
阅读全文
摘要:简介 Location 对象存储在 Window 对象的 Location 属性中,表示那个窗口中当前显示的文档的 Web 地址。通过Location对象,可以获取URL中的各项信息,调用对象方法也可以重新加载或替换当前文档。 在控制台输入 可以获取Location对象的详细信息: 对象属性 hre
阅读全文
摘要:浅谈JS严格模式 简介 何为严格模式?严格模式(strict mode)即在严格的条件下运行,在严格模式下,很多正常情况下不会报错的问题语句,将会报错并阻止运行。 但是,严格模式可以显著提高代码的健壮性,比如JS经常被人诟病的隐式创建全局变量,在严格模式下就会阻止运行。 总的来说,引入严格模式虽然会
阅读全文
摘要:浅谈自记忆函数 最近阅读《JavaScript忍者秘籍》看到了一种有趣的函数:自记忆函数。 简介 何为自记忆函数?书中提到: 记忆化(memoization)是一种构建函数的处理过程,能够记住上次计算结果 通过这句话可以得出,自记忆函数其实就是能够记住上次计算结果的函数。在实现中,我们可以这样进行处
阅读全文
摘要:JS在if中的强制类型转换 众所周知,JS在很多情况下会进行强制类型转换,其中,最常见两种是: 1.使用非严格相等进行比较,对 左边的值进行类型转换 2.在if判断时,括号内的值进行类型转换,转化为布尔值 今天,我就来聊一聊JS在if中的强制类型转换。 其实,如果详细要讨论哪些值在if中强制转换为
阅读全文
摘要:先来两个问题 很多时候,在直觉上,我们都会认为JS代码在执行时都是自上而下一行一行执行的,但是实际上,有一种情况会导致这个假设是错误的。 按照传统眼光,console.log(a)输出的应该是undefined,因为var a在a = 2之后。但是,输出的是2。 再看第二段代码: 有人会想到第一段代
阅读全文