javascript语言的特点
Javascript一种基于对象(object-based)和事件驱动(EventDriven)的简单的并具有安全性能的脚本语言。
特点:解释性、基于对象、事件驱动、跨平台。
一门动态的,弱类型,基于原型的脚本语言。
1.动态性是指,在一个Javascript对象中,要为一个属性赋值,我们不必事先创建一个字段,只需要在使用的时候做赋值操作。
//定义一个对象
var Person = new Person();
//动态创建属性name,age
Person.name = "Luck";
Person.age = 20;
//动态创建属性sayHi
Person.sayHi = function(){
console.log("大家好,我叫" + Person.name + "我今年"+Person.age +"岁了,很高兴认识大家");
}
Person.sayHi();
2.弱类型
JavaScript与Java,C/C++不同,Javascript是弱类型的,它的数据类型无需在声明时指定,解释器会根据上下文对变量进行实例化
//定义一个变量a,并赋值为字符串
var a = "Lucy";
console.log(typeof(a));
//给a赋值为整型
a = 12+5;
console.log(typeof(a));
///给a赋值为浮点型
a = 6.3;
console.log(typeof(a));
//给a赋值为一个对象
a = new Object();
a.name = "小A";
console.log(typeof(a));
可见,Javascript的变量更像是一个容器,类似与Java语言中的顶层对象Object,它可以是任何类型,解释器会根据上下文自动对其造型。
弱类型的好处在于,一个变量可以很大程度的进行复用,比如String类型的name字段,在被使用后,可以赋值为另一个Number型的对象,而无需重新创建一个新的变量。不过,弱类型也有其不利的一面,比如在开发面向对象的的时候,没有类型的判断将会是比较麻烦的问题
解释型的语言有一定的好处,即可以随时修改代码,无需编译,刷新页面即可重新解释,可以实时看到程序的结果,但是由于每一次都需要解释,程序的开销较大;而编译型的语言则仅需要编译一次,每次都运行编译过的代码即可,但是又丧失了动态性。