本篇文章为大家展示了Javascript动态语言有哪些特性,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。
JavaScript是一门动态的,弱类型,基于原型的脚本语言。在JavaScript中“一切皆对象”,在这一方面,它比其他的OO语言来的更为彻底,即使作为代码本身载体的function,也是对象,数据与代码的界限在JavaScript中已经相当模糊。虽然它被广泛的应用在WEB客户端,但是其应用范围远远未局限于此。
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动态语言有哪些特性,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注亿速云行业资讯频道。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。