你可以体验一下javascript的真值表。
JavaScript 中的 this 不是静态绑定,而是动态绑定。 并且可以人为地改变方向。
看下面的例子
控制台会输出什么?
javascript中的范围可以向下搜索。 通过闭包,函数可以引用底层作用域变量,并且可以在高层访问底层作用域。 似乎并没有什么稀奇的事情。
看案例
这个案例的输出是什么?
作用域链没什么好说的,直接上代码
为什么输出未定义,如果不明白javascript的原型链,自己找原因。
JavaScript采用了非主流的对象机制javascript的原型链,一种基于原型链的对象继承机制。 这就需要我们在很多语言中放弃Class的思想。 仔细看看这个原型链。
了解对象构造函数中 this.getName、A.prototype.getName 和 A.getName 之间的区别。
javascript中的代码与许多其他语言不同,代码是顺序执行的。 浏览器和 Nodejs 中都有一个 EventLoop。 让代码编码显得不可控。 Nodejs的难度更是呈指数级降低。
案件:
想一想,运行的结果是什么?
总结
javascript的难点就不一一列举了。 JavaScript 是一种支持多种范式的编程语言。 说白了,大多数javascript都没有统一的标准。 另外,javascript的灵活性极高,花样繁多,导致很多代码无法阅读。 很多困难都是由于javascript本身的缺陷造成的。 虽然很多好的实践是ES6、ES8、ES9....
JDk(JavaDevelopmentKit)全称为java开发工具包或Java开发工具。 它是一个用于编译Java applet 和应用程序的程序开发环境。 JDK是整个Java的核心,包括Java运行环境(JavaRuntimeEnvirnment)、一些Java工具和Java的核心泛型(JavaAPI)。