本节思维导图
javascript
javascript简介
JavaScript一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型。
广泛用于客户端(浏览器)。
三部分组成
ECMAScript:描述了该语言的语法和基本对象,是一种由Ecma国际组织制定的标准。
DOM:文档对象模型,描述处理网页内容的方法和接口
BOM:浏览器对象模型,描述与浏览器进行交互的方法和接口。
基本特点:
1.是一种解释性脚本语言(不用进行编译可以直接运行)
2.主要用于向HTML页面添加动态交互行为
3.可以直接嵌入HTML页面,但写成单独的js文件有利于维护
4.可以跨平台,只要浏览器可以解析js。
在html页面中使用js的方式
第一种:直接在script标签中写js代码
<script type="text/javascript">
js code
</script>
第二种,引入外部js文件(推荐使用,容易维护)
<script type="text/javascript" src="js文件路径"> </script>
js的数据类型和声明变量
-js声明变量使用的关键字都是var。
-js有五种原始数据类型:
String:字符串类型
Number:数字类型
Boolean:布尔类型
Null:表示无值,他是一个空对象.
Undefined:表示未声明的变量或者变量声明但是没有赋值或者使用了并不存在的变量时,返回这个值。表示未找到该对象。
对于一个不了解数据类型的变量。可以用typeof()查看其数据类型。
js的对象是一组由键-值组成的无序集合
var 对象名={
键1:值1,
键2:值2,
键3:值3
}
通过 对象名.键 来调用
例如:
<script>
var person={
name:"zhangsan",
age:20
};
alert(person.name);
alert(person.age);
</script>
js语句
-if...else..
-switch
-while
-for
-do-while等都与java中一样。
js的运算符与java中的使用也基本一样。但要注意以下几点。
(1)当字符串为数字字符串时,相加操作为字符串的连接,相减操作则为数字字符串的相减。
例如:“123”+1=1231 “123”-1=122
当字符串不为数字字符串时,相减则会提示NaN:表示不是一个数字。
(2)boolean类型也可以进行运算操作。
如果设置成true,则相当于这个值为1.
如果设置成false,则相当于这个值为0.
例如:boolean flag=true; flag=flag-1; flag就等于0;
(3)== 和===的区别
==:只比较值,例如”123“==123
===:比较值和类型,”123“!=123
案例:打印99乘法表
<html>
<head>
</head>
<body>
<script>
for(var i=1;i<=9;i++)
{
for(var j=1;j<=i;j++)
{
document.write(i+"*"+j+"="+i*j+"\t");
}
document.write("<br>");
}
</script>
</body>
</html>
js的数组:
定义数组的三种方法:
(1)var arr=[1,2,3]; //直接定义数组里的值
(2)var arr=new Array(5);//使用内置对象Array定义一个具有一定长度的数组
arr[0]="1";
arr[1]=2;
如果通过索引赋值,索引超出了范围,则不会报错,数组的大小会变大。
例如:
var arr=new Array(3);
arr[5]="8";
则arr[undefined,undefined,undefined,undefined,undefined,"8"];
(3)var arr=new Array(1,2,3);//使用内置对象Array定义一个具有初始值的数组
-数组里面属性length,可以获取到数组的长度
-如果改变数组的length属性,那么数组的长度也会改变。
例如:
var arr=[1,2,3];
arr.length=6; 则arr则变成了[1,2,3,undefined,undefined,undefined]
-js数组可以存放不同的数据类型的数据
js的函数
定义函数有三种方法
(1)function 函数名(参数列表)
{
方法体
}
例子:
<script>
function add(a,b) //参数列表不用加数据类型
{
var sum;
sum=a+b;
return sum;
}
alert(add(2,3));
</script>
(2)匿名函数:没有名字,如果调用需要后加名字。
function (参数列表)
{
方法体
}
例子:
<script>
var add=function (a,b) //后加名字
{
var sum;
sum=a+b;
return sum;
}
alert(add(5,7));
</script>
(3)动态函数(用到的很少)
使用js的一个内置对象 Function
new Function(”参数列表“,”方法体“);
例子:
<script>
var add=new Function("a,b","var sum;sum=a+b;return sum;");
alert(add(8,8));
</script>
js的全局变量和局部变量
全局变量:在<script>标签里面定义的变量在整个页面中都能使用,哪怕是另一个script标签,、。
局部变量:在函数内部定义的变量,只能在方法内部使用。