JavaScript语法基础
JavaScript的引用
在HTML文档中使用Javascript有两种方式,一种是使用<script>标记将语句嵌入文档,另一种是将javascript做成独立的文件,引入到HTML文档中
1.嵌入javascript代码
需要在<head>标记中嵌入一个<script>标记
<script language="JavaScript">脚本程序</script>
<html>
<head>
<script language="JavaScript">
document.write("欢迎来到JavaScript动态世界");
</script>
</head>
<body>
<p></p>
</body>
</html>
2.导入javascript文件
<script src="1.js"><script>
JavaScript语法基础
数据类型:数值型,字符串型,布尔型,undefined,null
变量
在JAVAScript中使用var关键字
var var_name
JavaScript区分大小写
<html>
<head>
<script language="JavaScript">
var a=3;
var b=5;
var c=b-a;
document.write(c+"<br>");
</script>
</head>
<body></body>
</html>
函数
在JavaScript中定义一个函数时,必须以function关键字开头函数名跟在关键词后面,然后是参数列表和函数所执行的函数段
function 函数名(参数列表)
{
程序代码;
return 表达式;
}
--------------------------------------华丽的分割线--------------------------------------------
开始看看一个简单的JavaScript程序:
<html>
<head>
<title>Greet</title>
<!-- 开始编写JavaScript代码 -->
<script type = "text/javaScript">
// 由按钮单机事件调用的函数
function greet()
{
var name = document.getElementById("name") ;
if (name)
alert("hello" + name.value) ;
}
</script>
</head>
<body>
<!-- 用于输入消息文本框 -->
<input type = "text" id ="name"/>
<!-- 调用greet方法的按钮 -->
<input type = "button" value = "Greet" onclick = "greet()"/>
</body>
</html>
也可以将上面的JavaScript代码嵌入到HTML中:
<!--greet.js-->
function greet()
{
var name = document.getElementById("name") ;
if (name)
alert("hello" + name.value) ;
}
在HTML中用<script>标签来引用greet.js
<script type = "text/javascript" src = "greet.js">
</script>
变量:
在JavaScript中有下面两种定义变量的方法:
1、为在变量第一次赋值时定义。
name = "name" ;
alert ( name );
2、使用var关键字定义变量。
var name = "name" , age = 23 ; // 定义两个变量用 “,” 分开
alert (name) ;
注意:
JavaScript变量名需要遵循两个规则:
1 、 第一个字符必须是字母 或 下划线 或 "$" 。
2 、其他的字符可以使字母、下划线、美元符号、任何数字 。
原始类型:
JavaScript有5种原始类型:(每一种原始类型都定义了自身的取值范围和表达式。)
1、Undefined 类型(只有一个值,undefined ) ;
alert(typeof st) ; // 显示 undefined
if (typeof st == "undefined" )
alert ( "st未定义" ) ;
如果变量是使用var来定义,并且为初始化,这个变量的值就是undefined 。
同时可以直接用: if (st == undefined )形式来判断变量类型。否则不可以。
2、Boolean类型。
只有两个值 true 或 false ,也可以用1和0表示。(这和java有点不一样)
3、Number 类型。
可以表示32位整数,也可以是64位浮点型。整数可以表示成八进制和十六进制。
var iOctalNum = 0213 ; //八进制必须要0开头
var iHexNum = 0xfff ; // 十六进制必须要0x开头。
但是所有的数学运算返回的都是十进制结果。
alert(iOcatlNum) ; // 输出的是十进制数 139 ;
alert(iHexNum) ; // 显示的是十进制数 。
4、String 类型。
可以用typeof运算符来获得一个变量的类型。
var intValuer = 22 ;
var stringValuer = "abc" ;
alert (typeof intValuer) ; // 输出number
alert (typeof stringValuer) ; //输出string
typeof 运算符可以返回一下5个值:
1、undefined : 变量是Undefined 类型 。
2、boolean :
3、number :
4、string :
5、object : 变量是引用型或者NUll类型 。
函数和函数调用 :
基本语法如下:
function funName(arg0 , arg1 , ... argN)
{
statments ;
}
JavaScript中的函数不能重载,如果函数名相同后面的函数就会覆盖前面的。
在JavaScript中,函数还可以使用argument对象实现动态参数,也就是在声明函数时并不需要定义参数,如:
function sum()
{
var _sum = 0 ;
for (var i = 0 ; i < arguments.length ;++ i)
_sum += arguments[i] ;
return _sum ;
}
在JavaScript中可以用Function建立任何函数,语法如下:
var funName = new Function(arg1 , arg2 , ... , argN , functionBody ) ;
如 : var sum = new Function("num1" , "num2" , "return num1 + num2 ") ;
alert (sum(-1,-1)) ;
类和对象:
在JavaScript中有一些预定义的类,如Object、Array、String、Number 等 。
下面有三种方法自定义类:
1、 动态添加类成员(工厂方式)
// 对多个对象共享的方法 。
function study ()
{
alert(this.name + "学习中!") ;
}
// 创建一个student对象的工厂函数,可以共享study方法 。
funciton createStudent(id , name , age)
{
var student = new Object ; // 创建一个对象变量
student.id = id ;
student.name = name ;
student.age = age ;
student.study = study ;
retrun student ;
}
2、构造函数方式
// 多个对象共享的study方法。
funciont study()
{
alert(this.name + "学习中!") ;
}
//Student类的构造方法。
function Student(id , name , age )
{
this.id = id ;
this.name = name ;
this.age = age ;
this.study = study ;
}
var student_1 = new Student("01" , "xxx" , 100 ) ;
student_1.study() ;
3、原型方式
该方法使用了对象的prototype属性,可以把prototype属性看成是创建新对象所依赖的原型。
//建立一个空的构造函数 。
function Student()
{
}
//使用prototype为Student类添加属性。
Student.prototype.id = '12' ;
Student.prototype.name = 'xxx' ;
Student.prototype.age = '20' ;
//使用prototype添加方法 。
Student.prototype.study = function()
{
alert(this.name + "学习中!") ;
};
var student_1 = new Student() ;
使用原型方式的另一个好处就是可以为已经存在的类添加新的成员。