抱歉,您的浏览器无法访问本站
本页面需要浏览器支持(启用)JavaScript
了解详情 >

在上个月,我更改了已使用近 9 年的网名,还顺便换了一个新邮箱(感觉自己萌萌哒),这本应该是一件值得开心的事才对…

但是直到今天,我才突然发现,我的 Github 墙居然不绿了!

在 Java 中,我们可以通过 getStackTrace() 来获取调用栈信息。若是 PHP 就更简单了,直接调用 debug_backtrace() 函数就可以打印出各类数据。

可是,在 JavaScript 中的表现又如何?说到底,作为一门不依赖于操作系统的脚本语言,究竟能不能主动获取到堆栈的相关信息?

在 Javascript 里,所有的数据类型都是「对象」(object),这一点与 Java 非常相似,所以很多人都会误以为 JavaScript 是一门面向对象的语言。

但从严格意义上来讲,Javascript 并不是一门面向对象语言,而是基于对象,也可以说是基于原型。Javascript 并没有「类」(class) 的概念,也没有提供像抽象、继承、重载等有关面向对象语言的许多特性。那么,Javascript 是如何通过 object 来实现 class 类似表现的?

如果你使用过 Swift 或者 C#,那么一定对 var 非常熟悉。它是 variable 或者是 variation 的简写,在编程语言中多用于定义变量的关键字,在一些操作系统中也能见到它的身影。

JavaScript 中也可以使用 var 来声明变量,不仅限于此,还有 letconst 共三种方式创建变量。而如今却很少在 JS 中见到 var 的身影,这又是为什么?

在 JavaScript 中,生成实例对象有着 new functionnew class 两种写法。

尽管我们知道,传统 function 构造函数是 ES5 中的写法,而 class 则是在 ES6 新提出的关键字,那么这两种写法到底有着什么样的区别?