简述JavaScript的语言特点
最近在读《JavaScript编程全解》这本书,对于JS的编程风格和特色有了些自己的看法,今天和大家分享一下。JS的语言特色有以下五个方面:
1、解释性语言;2、类似于C语言的语法结构;3、动态语言;4、基于原型的面向对象字面量的表现能力;5、函数式编程;
- 解释型语言
与之相对的就是编译型语言。解释型语言就是直接在运行环境中执行代码,js的运行环境是浏览器,它的解释器是嵌入在浏览器内核中的。解释型语言的不足在与运行速度通常会慢于编译型语言,因为编译型语言在程序执行之前,有一个单独的编译过程,将程序源代码“翻译”成目标代码(机器语言),以后执行这个程序的时候,就不用再进行翻译了。因此其目标程序可以脱离其语言环境独立执行,使用比较方便、效率较高。但应用程序一旦需要修改,必须先修改源代码,再重新编译生成新的目标文件(* .OBJ)才能执行,只有目标文件而没有源代码,修改很不方便。但现在两类语言的界限已经越来越模糊。编译型语言在有了足够快的编译器和功能强大的运行环境后也能实现和解释型语言相匹敌的开发难易度。而解释型语言由于使用了JIT(Just In Time)后,在运行中使用这种编译技术,使得运行速度得以改善。一门语言设计的目的有他自己的考虑,是为了是开发过程变得轻松还是为了提高执行效率,设计理念是不同的。
- 类似于C语言的语法结构
JS的语法结构基本和C、Java等语言的语法结构类似。JS同样有if或while这类关键字,他们乍一看很像,因此有这些语言开发经验的人很容易就能熟悉javascript。不过需要注意的是,他们之间的相似性其实不像表面看起来的那么强。
- 动态语言
JS与C和Java所不同的一点在于,JS是一种动态语言。但从代码的角度看,动态语言的变量和函数是不指定返回值类型的。选择将JS做成动态性语言也是为了优先考虑开发难易度的。对于解释型语言以及动态语言的喜好见仁见智,但语言本身并没有高低强弱之分。
- 关于原型对象
每个javascript对象都有一个原型对象,这个对象在不同的解释器下的实现不同。由于原型对象本身也是对象,根据上边的定义,它也有自己的原型,而它自己的原型对象又可以有自己的原型,这样就组成了一条链,这个就是原型链,JavaScritp引擎在访问对象的属性时,如果在对象本身中没有找到,则会去原型链中查找,如果找到,直接返回值,如果整个链都遍历且没有找到属性,则返回undefined.原型链一般实现为一个链表,这样就可以按照一定的顺序来查找。
var base = { name : "base", getInfo : function(){ return this.name; } } var ext1 = { id : 0, __proto__ : base } var ext2 = { id : 9, __proto__ : base } print(ext1.id); print(ext1.getInfo()); print(ext2.id); print(ext2.getInfo()); 结果 0 base 9 base
最后Obejct.prototype的”__proto__”值为null。Js所有的函数都有一个prototype属性,这个属性引用了一个对象,即原型对象,也简称原型。这个函数包括构造函数和普通函数,我们讲的更多是构造函数的原型,但是也不能否定普通函数也有原型。
- 字面量的表现能力
为了说明那些具有一定功能的方法,我们为他们起了不同的函数名,为了调用一些常量,我们把他们赋值给变量名。value代表这个值。literals代表如何表达这个值。5,既可以是五,也可以是five,还可以用二进制表示。这就是字面量。字面量表现突出的不止JS一个,但是他的字面量表现能力确实非常优秀。true、false和null,它们分别表示一个整数、两个布尔值和一个空对象。
JavaScript还支持对象,数组字面量,函数字面量,允许使用一种简洁而可读的记法来创建数组和对象。
- 函数式编程
简单来说,函数式编程就是使用函数作为变量。回调函数是从一个叫函数式编程的编程范式中衍生出来的概念。函数式编程中的一个主要技巧就是回调函数。
相关推荐
首先对JavaScript进行了简述,并讲述了它作为一种轻量级、解释型且事件驱动的脚本语言的发展历程及其标准规范。接着探讨了JavaScript的基本语法,包括变量、数据类型、运算符、流程控制等方面,这是开发者初学者理解...
首先简述了JavaScript的发展历程和特点,然后系统讲解了包括变量声明、数据类型、运算符、流程控制在内的基础语法,接着深入探讨了函数和闭包、对象和原型、DOM操作、事件处理等进阶主题,还介绍了AJAX和Fetch API等...
下面简述一下使用JavaScript进行RSA加解密的步骤: 1. **生成密钥对**:首先,我们需要生成一对RSA密钥。这可以通过调用特定库的函数完成,如`OpenSSL`的`openssl genpkey`命令可以生成PEM格式的密钥对。在...
动态HTML的核心在于面向对象的方法、层叠样式表(CSS)、脚本语言(如JavaScript)以及动态字体等特性。 1. **面向对象的方法**:在动态HTML中,每个页面元素(如标题、段落、图像、列表、框架等)都可以被视为一个...
首先,我们需要了解JavaScript的历史简述。JavaScript 最初由 Netscape 公司的 Brendan Eich 创建于1995年,最初命名为 Mocha,后来改为 LiveScript,最终在Netscape Navigator 2.0浏览器中以JavaScript的名字发布。...
为了帮助开发者进一步提升技能,教程还简述了几款主要的前端框架(如React、Vue、Angular)的特点,以及JavaScript的性能优化技巧和一些辅助开发工具的介绍。 适用人群:对编程有一定兴趣但缺乏实际经验的初学者,...
本书是学习JavaScript编程语言的理想资源,无论是对于初学者还是有经验的开发人员来说都非常实用。 #### 二、书籍特色 1. **全面覆盖**:本书全面覆盖了JavaScript的基础知识以及高级主题。 2. **易懂易学**:作者...
8. **JavaScript框架和库**:可能简述React、Vue、Angular等流行框架的基本概念和用法,以及jQuery等库的使用。 9. **错误处理**:讲解如何有效地捕获和处理运行时错误,以及try...catch语句的使用。 10. **性能...
根据给定的信息,“JavaScript權威指南第四版”主要聚焦于JavaScript这一重要的编程语言。尽管提供的具体内容部分并未包含实际的知识点,但我们可以根据标题、描述以及标签来推断这本书可能涵盖的关键概念和技术要点...
### JavaScript设计模式简述 #### 一、引言 JavaScript作为一种广泛应用的脚本语言,在Web开发领域占据着举足轻重的地位。随着项目的复杂度不断提高,合理运用设计模式成为提高代码质量和可维护性的关键手段之一。...
- **React/Vue/Angular**:简述三大前端框架的主要特点和应用场景,如组件化开发、虚拟DOM等。 6. **浏览器兼容性与性能优化** - **浏览器差异**:了解不同浏览器之间的差异,学习如何编写跨浏览器的代码。 - **...
【标题】"java/js资料" 涵盖了Java和JavaScript两种编程语言的相关知识点,它们在IT领域中占据着重要地位。Java是一种广泛应用于企业级应用、云计算、移动开发等领域的面向对象的编程语言,而JavaScript则主要用于...
Servlet 和 JSP 技术简述 Servlet 技术是 Java 程序,可以在 Web 服务器或应用程序服务器上运行,充当 Web 浏览器或其他 HTTP 客户端和数据库或应用程序之间的中间层。Servlet 的主要任务是: 1. 读取明确的客户端...
- 编程语言:概述了Java、Objective-C等开发语言的特点,介绍了Android开发的工具包SDK,以及如何通过ADK开发Java,通过NDK开发C/C++。 - Native开发与混合模式开发:解释了原生开发(Native)和混合模式开发...
1. **爬虫的基本概念**:解释爬虫的基本定义,强调其自动化和信息抓取的特点,以及在互联网数据处理中的应用。 2. **爬虫的分类**:包括通用爬虫和聚焦爬虫。通用爬虫广泛抓取整个互联网,如搜索引擎的爬虫;聚焦...