编程技术
老板让我防黑客,我反手写了个"自爆程序"
事情是这样的 今天老板走过来,拍了拍我的肩膀:"咱们的网站代码不能让人随便看,你想个办法,谁要是敢打开控制台,就让他见识见识社会的险恶。" 我寻思着,这不就是防君子不防小人吗?但老板发话了,咱得整活啊! 方案一:无限debugger,卡到你怀疑人生 setInterval(function()
编程技术
事情是这样的 今天老板走过来,拍了拍我的肩膀:"咱们的网站代码不能让人随便看,你想个办法,谁要是敢打开控制台,就让他见识见识社会的险恶。" 我寻思着,这不就是防君子不防小人吗?但老板发话了,咱得整活啊! 方案一:无限debugger,卡到你怀疑人生 setInterval(function()
编程技术
浏览器的进程模型 要了解事件循环概念我们要先了解浏览器的进程模型。 浏览器的进程模型是指浏览器在执行任务时如何划分和管理进程,以实现页面渲染、网络请求、插件处理等功能。不同的浏览器使用不同的进程模型来优化性能、增强安全性和提高稳定性。 1. 单进程模型 在早期浏览器(如最早版本的IE浏览器)中,所有
编程技术
cjs (commonjs) commonjs 是 Node 中的模块规范,通过 require 及 exports 进行导入导出 (进一步延伸的话,module.exports 属于 commonjs2) 同时,webpack 也对 cjs 模块和 esm 模块都得以解析,因此 cjs 模块可以运
编程技术
首先声明:这里所指的JavaScript 不支持函数的重载,指的是严格意义上的函数重载 JavaScript 不支持函数重载,主要原因在于它的函数是动态和弱类型的关系。 1. 动态类型系统 JavaScript 是一种动态类型的语言,即函数参数的类型在运行时才确定。在其他支持重载的语言(如 Java
编程技术
前言 前两卷我们都介绍的一些比较奇特又比较好玩的示例,这期我们讲的相对来说就属于比较基础的部分了。 1. 块内部的声明提升 // for for (var i=0; i<10; i++) { // console.log( i ); } console.log(i); // if if(tr
编程技术
1. 奇特的 ~ 运算符 它首先将值强制类型转换为 32 位数字,然后执行字位操作“非”(对每一个字 位进行反转)。这与 ! 很相像,不仅将值强制类型转换为布尔值 <,还对其做字位反转。 ~x 大致等同于 -(x+1)。很奇怪,但相对更容易说明问题: ~42; // -(42+1) ==> -43
文章
1. 特殊类型 因为typeof null === "object"因此我们需要使用复合条件来检测 null 值的类型 var a = null; (!a && typeof a === "object"); // true 还有一种情况: typeof function a(){ /* .. */