《JavaScript设计与开发新思维》——1.5 为什么说JavaScript是一种好语言

简介: 最后,JavaScript是一种好语言还有一个原因:其他人几乎肯定能理解你所要完成的工作。当然,对于所有已经确立地位的语言来说这一点都成立,但是对于JavaScript,可能由于代码始终公开,聪明的程序员们更倾向于分享这些思路。通常,聪明的程序员还从这些漂亮的代码中建立公共程序库或者框架。

本节书摘来自异步社区《JavaScript设计与开发新思维》一书中的第1章,第1.5节,作者:【美】Larry Ullman著,更多章节内容可以访问云栖社区“异步社区”公众号查看

1.5 为什么说JavaScript是一种好语言

如果你正在阅读这本书,就可能对学习JavaScript有兴趣,但是如果我不表明自己对JavaScript为什么是一种好语言的看法,那就是玩忽职守。最重要和明显的理由是,JavaScript非常有用。在当今网站中常见的大量动态功能都是用JavaScript实现的。实际上,大部分这种功能都是用户所需要的,不使用JavaScript将是一种明显的疏漏。而且JavaScript还能……

改进网站性能(例如,归功于Ajax)。
用于修复浏览器缺陷,例如对CSS较新特性的支持。
用于移动设备(取决于设备)。
正确使用时完全可靠。
将一些处理从服务器推送到客户端,降低服务器的负载。
JavaScript最了不起的特征之一是,该语言本身违反直觉,这也是造成其声誉受损的原因。简言之,你可以在还没有真正了解的情况下使用JavaScript。虽然很好地使用JavaScript确实需要相当的知识,但是使用它的一些功能相当容易。而且,因为JavaScript在Web浏览器中运行,所以很容易看到任何人的JavaScript代码:当你遇到喜欢的功能或者页面效果时,就可以复制这些HTML、JavaScript和CSS,用于自己的目的(在这里我不打算涉及道德和法律的问题)。相比之下,Java和C++代码不容易零散地使用:你确实必须了解这些语言才能用它们做更多的事情。其次,编译过的应用使得查看底层代码很困难,甚至完全不可能。

最后,JavaScript是一种好语言还有一个原因:其他人几乎肯定能理解你所要完成的工作。当然,对于所有已经确立地位的语言来说这一点都成立,但是对于JavaScript,可能由于代码始终公开,聪明的程序员们更倾向于分享这些思路。通常,聪明的程序员还从这些漂亮的代码中建立公共程序库或者框架。

相关文章
|
1月前
|
开发框架 JavaScript 安全
js开发:请解释什么是Express框架,以及它在项目中的作用。
Express是Node.js的Web开发框架,简化路由管理,支持HTTP请求处理。它采用中间件系统增强功能,如日志和错误处理,集成多种模板引擎(EJS、Jade、Pug)用于HTML渲染,并提供安全中间件提升应用安全性。其可扩展性允许选用合适插件扩展功能,加速开发进程。
|
1月前
|
缓存 JavaScript 数据安全/隐私保护
js开发:请解释什么是ES6的Proxy,以及它的用途。
`ES6`的`Proxy`对象用于创建一个代理,能拦截并自定义目标对象的访问和操作,应用于数据绑定、访问控制、函数调用的拦截与修改以及异步操作处理。
17 3
|
1月前
|
JavaScript
js开发:请解释什么是ES6的类(class),并说明它与传统构造函数的区别。
ES6的类提供了一种更简洁的面向对象编程方式,对比传统的构造函数,具有更好的可读性和可维护性。类使用`class`定义,`constructor`定义构造方法,`extends`实现继承,并可直接定义静态方法。示例展示了如何创建`Person`类、`Student`子类以及它们的方法调用。
22 2
|
1天前
|
存储 JavaScript 索引
js开发:请解释什么是ES6的Map和Set,以及它们与普通对象和数组的区别。
ES6引入了Map和Set数据结构。Map的键可以是任意类型且有序,与对象的字符串或符号键不同;Set存储唯一值,无重复。两者皆可迭代,支持for...of循环。Map有get、set、has、delete等方法,Set有add、delete、has方法。示例展示了Map和Set的基本操作。
11 3
|
1天前
|
JavaScript 前端开发
js开发:请解释什么是ES6的Generator函数,以及它的用途。
ES6的Generator函数是暂停/恢复功能的特殊函数,利用yield返回多个值,适用于异步编程和流处理,解决了回调地狱问题。例如,一个简单的Generator函数可以这样表示: ```javascript function* generator() { yield 'Hello'; yield 'World'; } ``` 创建实例后,通过`.next()`逐次输出"Hello"和"World",展示其暂停和恢复的特性。
9 0
|
1天前
|
缓存 JavaScript 前端开发
js开发:请解释什么是Webpack,以及它在项目中的作用。
Webpack是开源的JavaScript模块打包器,用于前端项目构建,整合并优化JavaScript、CSS、图片等资源。它实现模块打包、代码分割以提升加载速度,同时进行资源优化和缓存。Webpack的插件机制可扩展功能,支持热更新以加速开发流程。
11 2
|
2天前
|
JavaScript 前端开发
js开发:请解释事件冒泡和事件捕获。
JavaScript中的事件处理有冒泡和捕获两种方式。事件冒泡是从子元素向上级元素传递,而事件捕获则从外层元素向内层传递。`addEventListener`的第三个参数可设定事件模式,`false`或不设为冒泡,`true`为捕获。示例代码展示了如何设置。
17 2
|
2天前
|
JavaScript 前端开发
js开发:请解释this关键字在JavaScript中的用法。
【4月更文挑战第23天】JavaScript的this关键字根据执行环境指向不同对象:全局中指向全局对象(如window),普通函数中默认指向全局对象,作为方法调用时指向调用对象;构造函数中指向新实例,箭头函数继承所在上下文的this。可通过call、apply、bind方法显式改变this指向。
7 1
|
2天前
|
JavaScript 前端开发
js开发:请解释同步和异步编程的区别。
同步编程按顺序执行,易阻塞;异步编程不阻塞,提高效率。同步适合简单操作,异步适合并发场景。示例展示了JavaScript中同步和异步函数的使用。
12 0
|
10天前
|
开发框架 前端开发 JavaScript
采用C#.Net +JavaScript 开发的云LIS系统源码 二级医院应用案例有演示
技术架构:Asp.NET CORE 3.1 MVC + SQLserver + Redis等 开发语言:C# 6.0、JavaScript 前端框架:JQuery、EasyUI、Bootstrap 后端框架:MVC、SQLSugar等 数 据 库:SQLserver 2012