现在的位置: 首页 > web前端 > 正文

Javascript动态语言有哪些特性?Javascript有哪些解释与编译

2020年06月10日 web前端 ⁄ 共 1520字 ⁄ 字号 评论关闭

  JavaScript是一门动态的,弱类型,基于原型的脚本语言。在JavaScript中“一切皆对象”,在这一方面,它比其他的OO语言来的更为彻底,即使作为代码本身载体的function,也是对象,数据与代码的界限在JavaScript中已经相当模糊。虽然它被广泛的应用在WEB客户端,但是其应用范围远远未局限于此。下面学步园小编来讲解下Javascript动态语言有哪些特性?Javascript有哪些解释与编译?

  Javascript动态语言有哪些特性

  动态性是指,在一个Javascript对象中,要为一个属性赋值,我们不必事先创建一个字段,只需要在使用的时候做赋值操作即可,如下例:

  //定义一个对象

  var obj=new Object();

  //动态创建属性name

  obj.name="an object";

  //动态创建属性sayHi

  obj.sayHi=function(){

  return"Hi";

  }

  obj.sayHi();

  加入我们使用Java语言,代码可能会是这样:

  class Obj{

  String name;

  Function sayHi;

  public Obj(Sting name,Function sayHi){

  this.name=name;

  this.sayHi=sayHi;

  }

  }

  Obj obj=new Obj("an object",new Function());

  动态性是非常有用的,这个我们在后面章节中详细讲解。

  Javascript弱类类型特性

  与Java,C/C++不同,Javascript是弱类型的,它的数据类型无需在声明时指定,解释器会根据上下文对变量进行实例化,比如:

  //定义一个变量s,并赋值为字符串

  var s="text";

  print(s);

  //赋值s为整型

  s=12+5;

  print(s);

  //赋值s为浮点型

  s=6.3;

  print(s);

  //赋值s为一个对象

  s=new Object();

  s.name="object";

  print(s.name);

  结果为:

  text

  17

  6.3

  Object

  可见,Javascript的变量更像是一个容器,类似与Java语言中的顶层对象Object,它可以是任何类型,解释器会根据上下文自动对其造型。

  弱类型的好处在于,一个变量可以很大程度的进行复用,比如String类型的name字段,在被使用后,可以赋值为另一个Number型的对象,而无需重新创建一个新的变量。

  不过,弱类型也有其不利的一面,比如在开发面向对象的Javascript的时候,没有类型的判断将会是比较麻烦的问题,不过我们可以通过别的途径来解决此问题。

  Javascript有哪些解释与编译

  通常来说,Javascript是一门解释型的语言,特别是在浏览器中的Javascript,所有的主流浏览器都将Javascript作为一个解释型的脚本来进行解析,然而,这并非定则,在Java版的Javascript解释器rhino中,脚本是可以被编译为Java字节码的。

  解释型的语言有一定的好处,即可以随时修改代码,无需编译,刷新页面即可重新解释,可以实时看到程序的结果,但是由于每一次都需要解释,程序的开销较大;而编译型的语言则仅需要编译一次,每次都运行编译过的代码即可,但是又丧失了动态性。

  以上就是关于“Javascript动态语言有哪些特性?Javascript有哪些解释与编译”的内容,希望对大家有用。更多资讯请关注学步园。学步园,您学习IT技术的优质平台!

抱歉!评论已关闭.