JavaScript 是脚本语言
JavaScript 是一种轻量级的编程语言
JavaScript 是可插入 HTML 页面的编程代码。
JavaScript 插入 HTML 页面后,可由所有的现代浏览器执行。
JavaScript 很容易学习。
javascript是什么?
JavaScript一门解释型(不是编译型)脚本语言,它的主要特点有:面向对象,弱类型,动态,基于原型的面向对象(对象)(不基于类)
Java是基于类的面向对象,是编译型的语言.
1). 解释型(不是编译型)
代码编写好后, 不需要编译, 直接由js的解析引擎来解析执行(动态性更好,但开销较大)
2). 弱类型
在声明变量时,不用指定其数据类型, 而且它可以被随时赋值为任意类型的数据,解释器会根据上下文自动对其造型
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<script type="text/javascript">
var a = 1;
alert(typeof a); //"number"
a = "hello";
alert(typeof a); //string
a = {name:"TOM", age:12};
alert(typeof a);//object
a = function(){
alert("hello world");
};
alert(typeof a);//function
</script>
</head>
<body>
</body>
</html>
3). 面向对象
在JavaScript中“一切皆对象”,在这一方面,它比其他的OO语言来的更为彻底,即使作为代码本身载体的function,也是对象,数据与代码的界限在JavaScript中已经相当模糊
4). 动态
对象的属性可以在对象创建了之后, 动态的设置, 且属性值可以是任意类型的数据(自然可以是一个函数)
我们在创建了对象后添加了school属性和,getSchool方法
obj.school = "nupt";
obj.getSchool = function(){return this.school;};
sample:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<script type="text/javascript">
var obj = {
name : "xiaoli",
age : 12,
getName : function(){return this.name;},
getAge:function(){return this.age}
};
alert("name is "+obj.getName()+" age is "+obj.getAge());
obj.school = "nupt";
obj.getSchool = function(){return this.school;};
alert("name is "+obj.getName()+" age is "+obj.getAge()+" school is "+obj.school);
</script>
</head>
<body>
</body>
</html>
5). 基于原型(对象)(不基于类)
l 在js中没有真正类的概念, 如何实现代码的复用呢?, 那就是prototype
用{}来创建一个object对象
name和age是obj对象的属性,getName和getAge为obj对象的成员函数
注意:属性和值之间是冒号
冒号是分隔键与值,用来分隔属性名和属性值
属性与属性之间是逗号,而不是分号!
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<script type="text/javascript">
var obj = {
name : "lili",
age : 12,
getName : function(){return this.name;},
getAge:function(){return this.age}
};
alert("name is "+obj.getName()+" age is "+obj.getAge());
</script>
</head>
<body>
</body>
</html>