简述JavaScript的语言特点

                                                                     简述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还支持对象,数组字面量,函数字面量,允许使用一种简洁而可读的记法来创建数组和对象。

  • 函数式编程

    简单来说,函数式编程就是使用函数作为变量。回调函数是从一个叫函数式编程的编程范式中衍生出来的概念。函数式编程中的一个主要技巧就是回调函数。

 

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: JavaScript是一种强大的脚本语言,具有以下特点:它是跨平台的,可以在任何设备上运行;它是非常灵活的,可以用于网页开发,游戏开发和移动应用等;它有丰富的标准库,可大大简化开发;它也具有很强的可扩展性,可以轻松将功能扩展到自定义应用程序中。 ### 回答2: JavaScript是一种脚本语言,具有以下特点: 1. 简单易学:JavaScript采用类似于C语言的语法,与许多其他编程语言相似,易于理解和学习。 2. 解释执行:JavaScript是一种解释型语言,不需要编译器进行翻译,直接通过解释器执行。 3. 动态类型:JavaScript是一种动态类型语言,不需要事先声明变量的类型,可以在运行时根据需要改变变量的数据类型,灵活性高。 4. 面向对象:JavaScript支持面向对象的编程方式,可以通过创建对象、封装属性和方法等来实现面向对象的概念。 5. 弱类型:JavaScript是一种弱类型语言,变量可以自动进行类型转换,例如将字符串转换为数字等。 6. 事件驱动:JavaScript可以通过事件驱动的方式来处理用户的操作,例如点击按钮或者滚动页面等。开发者可以为这些事件编写相应的处理函数。 7. Web开发:JavaScript是Web开发中最重要的语言之一,可以用来处理前端页面的动态交互效果,例如表单验证、页面元素变换等。 8. 跨平台性:JavaScript可以运行在各种操作系统和浏览器上,无需额外的配置和适配,适用性广泛。 9. 可扩展性:JavaScript拥有丰富的类库和框架,可以满足各种开发需求,并且还可以根据需要进行扩展和定制。 总结来说,JavaScript是一种简单易学、解释执行、动态类型、面向对象、弱类型、事件驱动、跨平台、可扩展的脚本语言,广泛应用于Web开发中,为网页添加交互性和实现动态效果。 ### 回答3: JavaScript是一种强大而灵活的编程语言,具有以下特点: 1. 脚本语言JavaScript是一种脚本语言,它可以直接嵌入到HTML中,通过浏览器解释执行,无需编译。这使得开发者能够实时修改和测试代码,并且无需额外的工具或环境。 2. 强大的交互性:JavaScript通过DOM(文档对象模型)和BOM(浏览器对象模型)提供了与网页交互的能力。可以通过DOM操作HTML元素、改变样式、添加事件,以及获取和修改网页上的元素等。这样的交互性可以增强用户体验,并且使得开发者能够对网页进行更加细致和个性化的控制。 3. 客户端和服务器端:JavaScript既可以在客户端运行,也可以在服务器端运行。在客户端,JavaScript可以做一些与用户交互的操作,比如表单验证、动态内容加载等。而在服务器端,JavaScript可以用于构建响应式的、高性能的网络应用,通过Node.js等平台实现。 4. 面向对象:JavaScript是一种面向对象的语言,它支持面向对象的编程范式,如封装、继承和多态等。对于开发者来说,这意味着通过创建对象、定义类和使用原型等方式可以更好地组织和复用代码,提高开发效率。 5. 动态性:JavaScript是一门动态类型的语言,变量的类型在运行时可以被改变。这意味着可以根据需要随时更改变量的数据类型,使得开发过程更加灵活和直观。 6. 丰富的库和框架:JavaScript拥有大量的开源库和框架,如jQuery、React、Vue.js等,这些库和框架可以大大简化开发过程,提高开发效率。同时,JavaScript还具有丰富的API,开发者可以通过直接调用这些API来实现各种功能。 综上所述,JavaScript是一门功能强大、灵活多变的编程语言,能够实现丰富的交互效果和动态功能,并且具有广泛的应用领域和大量的开发资源。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值