JavaScript的简介:
是基于对象和事件驱动的语言,主要应用在客户端
基于对象:提供了很多对象,可以直接拿过来使用
事件驱动:html做网站静态效果,JavaScript动态效果
客户端:专门指的是浏览器
特点:
交互性:信息的动态交互
安全性:js不能访问本地磁盘文件
跨平台性:只要支持js的浏览器,都可以运行
JavaScript和Java的区别(雷锋和雷峰塔,两者没有任何关系):
1.java是sun公司,现在oracle;js是网景公司
2.JavaScript是基于对象的;java是面向对象
3.java是强类型的语言,js是弱类型的语言
4.JavaScript只需要解析就可以执行,而java需要先编译成字节码文件,再执行
JavaScript的组成
三部分:
1.ECMAScript
-ECMA:欧洲计算机协会
-有ECMA组织制定的js的语法,语句....
2.BOM
-broswer object model:浏览器对象模型
3.DOM
-document object model:文档对象模型
js和html的结合方式(两种)
第一种:使用一个标签
<meta charset="utf-8">
<html>
<head>
<title>HTML示例</title>
<style type="text/css">
</style>
</head>
<body>
<script type="text/javascript">
//向页面弹出一个框,显示内容
alert("aaaa");
</script>
</body>
</html>
第二张:使用script标签,引入一个外部的js文件。
创建一个js文件,写js代码
使用第二种方式时,就不要再script标签里面写js代码了,不会执行
创建一个1.js文件
alert("aaaa");
<meta charset="utf-8">
<html>
<head>
<title>HTML示例</title>
<style type="text/css">
</style>
</head>
<body>
<script type="text/javascript" src="1.js">
//此处不要再写js代码了,写了也不会执行
</script>
</body>
</html>
js的原始类型和声明变量
定义变量:都使用关键字var
js的原始类型(五个):
string:字符串
var str="abc";
number:数字类型
var m=123;
boolean:true和false
var flag=true;
null
var date=new Date();获取对象的引用,null表示对象引用为空,所有的对象的引用也是object
undifined
定义一个变量,没有赋值
var aa; 定义了,没赋值
typeof(变量名称):查看当前变量的数据类型
alert(typeof(str)); //查看当前变量数据类型
js的语句
js里面的语句:
if,while,for语句,和java相同
switch语句,支持数据类型和string类型,和jdk1.7后的java一样
js的运算符
1.js里面不区分整数和小数,java中123/1000*1000=0,但在js中结果是123.
2.字符串的相加和相减操作
如果相加,做的是字符串的连接
如果相减,做的是相减的运算
var str="123";
alert(str+1); //结果是1231,和java中相同
alert(str-1); //结果是122,执行减法的运算
如果str是“abc”,则alert(str-1);会报错NaN,表示不是一个数字
3.boolean类型,如果设置成true,相当于这个值是1,如果是false,相当于这个值是0.
var j=true;
alert(j+1); //输出2
4.和=的区别
==比较值
===比较值和类型
5.document.write();直接向页面输出的语句,可以把内容直接显示在页面上
可以向页面输出变量,固定值和html代码
document.write("aaa");
document.write("</br>");
js的数组
三种定义方式:
第一种:var arr1=[1,2,3]; var arr2=[1,"a",2]; var arr3=[1,"a",true];
第二种:使用内置对象Array对象
var arr1=new Array(5); //定义一个数组,数组的长度是5
arr1[0]="5";
第三种:使用内置对象Array
var arr2=new Array(3,4,5); //定义一个数组,数组里的元素是3,4,5
数组中有个属性,lenght:获取数组长度
数组可以存放不同数据类型的数据
js的函数
在js中定义方法的三种方式:
参数列表不用写var,直接写参数名称
第一种:使用关键字function
function 方法名(参数列表){
方法体;
返回值(可有可无);
}
第二种:匿名函数
var add=function(参数列表){ //add相当于方法名
方法体和返回值;
}
第三种:使用内置对象Function
var add=new Function("参数列表",“方法体和返回值”) //方法体和返回值别忘了;
js的全局变量和局部变量
全局变量:在script标签里定义一个变量,这个变量在页面中js部分都可以使用
局部变量:在方法内部定义一个变量,只能在方法内部使用。若在方法外部调用,会报错
ie自带了一个调试工具,ie8及其以上的版本中,键盘上F12,在页面下方出现一个条
script标签放的位置
建议吧script标签放在</body>
后面
如果现在有一个需求:在js里面需要获取到input里面的值,如果把scrip标签放到head里面,html解析是从上到下解析,scrip标签放到的是head里面,直接从里面获取input里的值,因为页面还没解析到input这一行,所以取不到,会报错