javascript简介
javascript:
基于对象和事件驱动的语言,应用于客户端。
-基于对象:提供好了对象,不需要new
-事件驱动,html做的是静态网页
-客户端:专门指的是浏览器
js的特点
1.交互性 信息的动态交互
2.安全性 不能直接访问本地磁盘的文件
3.跨平台性 只要能支持js的浏览器,都可以运行
javascript和java的区别:
没有任何关系
(1)js是基于对象的,java是面向对象的
(2)java是强类型语言,对语法要求很严
js是弱类型的语言,var i = 10; var i = “10”;
(3)js只需要解析就能执行,java需要先编译,再运行
1,javascript的组成
1.ECMAScript
ECMA:欧洲计算机协会,制定js语法
由ECMA组织来制定的基本语法
2.BOM
borswer object model:浏览器对象模型
地址栏,关闭,js是基于对象的,这些操作都可以通过对象操作
3.DOM
document object model:文档对象模型
网页里面有很多内容,提供对象,对网页进行操作,添加,删除
2.js和html的结合方式(两种)
第一种:
<script type="text/javascript"></script>
第二种:
使用script标签,引入一个外部的js文件
<script type="text/javascript" src="1.js"></script>
3.js的原始类型和声明变量
java基本数据类型
byte short int long float double char boolean
定义变量,都使用关键字:var
js的原始类型:string 字符串
number 数字类型
boolean true或false
null
undifined
typeof 查看当前变量的数据类型
4.js语句
1.if
2.switch
3.循环
for while do-while
5.js的运算符
var j=123;
alert(j/1000*1000);
var j="456"alert(j+1);//字符串连接
alert(j-1);//真正相减
boolean
var flag = true;
alert(flag+1);
4.== 和 === 的区别
var j = 5;
if(j == 5){
alert("5");
}else{
alert("other");
}
==比较的是值
===比较的是值和类型
5.直接在页面上输出
document.write();
6.js的数组
1. var array = [1,2,3];
2. var array = new Array(5);
array[0] = 1;
3.var array = new Array(3,4,5);
查看长度的length
7.js的函数
js定义函数三种方式:
1.function 方法名(参数列表){
}
匿名函数
2.var add = function(参数列表){
}
8.js的全局变量和局部变量
全局变量:在script标签里面定义的变量,这个变量在js中都可以使用
局部变量:在方法中定义的变量,只能在方法体中使用
9.js的string对象
创建string对象 var str = “hello”;
属性:length 表示字符串的长度
方法:(1)与html相关的方法
--bold()//加粗
--fontcolor("red")//设置颜色的方法
--fontsize()//设置字体的大小
--link()//将字符串显示为超链接
(2)与java相似的方法
--concat("str")//连接字符串
--charAt(0)//返回指定位置的字符
--indexOf("a")//返回字符的下标
--split(",")//把字符串切分成数组
--replace(old,new)//替换字符串,传两个参数
--substr(start,length);//截取字符串
--substring(start,end);//截取字符串
10.js的Array
--var array = [1,2,3];
--var array = new Array(3);
--var array = new Array(1,2,3);
属性:length
方法:
concat()//连接数组concat([1,2]) concat(array)
push()//向数组末尾添加元素,并返回新的数组长度,直接加数字,会把数组整体作为字符串加入
pop()//删除数组中的最后一个元素,并返回该元素
reverse()//将数组中的元素反序排列
11.js的Date
java中获取时间
--Date date = new Date();
//需要格式化转换成我们熟悉的格式
js里面获取当前时间
--var date = new Date();
date.toLocaleString();
--getFullYear() //获取当前年份
--getMonth() //获取当前月(0-11)
--getDay() //获取当前的星期
--getDate() //获取当前的日期
--getHours() //获取当前的小时
--getMinutes()//获取当前的分钟
--getSeconds()//获取当前的秒
--getTime()//获取1970年1月1日到现在的毫秒数
12.js的Math
数学运算
都是静态方法,使用Math.function();
--ceil()//天花板 向上舍如
--floor()//地板 向下舍入
--round()//四舍五入
--random()//得到一个随机数 0-1
--max(num1,num2)//得到较大的数
--min(num1,num2)//得到较小的数
--pow(x,y)//x的y次方
属性:PI
13.js的重载
重载?
方法名相同 参数不同 一个类中 与返回值无关
重写?
子类与父类 方法名相同 参数相同
js是否存在重载?不存在重载
NaN: not a Number
js方法的参数 保存在arguments中
14.js的bom对象
broswer object model :浏览器对象模型
浏览器的地址栏,关闭按钮等当做一个对象
有哪些对象?
**navigator:获取浏览器的信息
–appName属性
**screen:获取屏幕信息
–width height属性
**location:请求的url地址
–href属性
1.获取请求的地址 location.href
2.设置请求地址
location.href=”http://www.baidu.com”;
**history:请求的url历史记录
–back() 上一个
–forward() 下一个
**window:窗口对象,顶层对象(所有的bom对象都是在window里面操作的)
方法:
1.alert();
2.confirm();确认
if(confirm("是否删除?")){
alert("1");
}else{
alert("2");
}
3.prompt(); 输入对话框
var value = window.prompt("请输入姓名","zhangsan");
alert(value);
4.open():打开一个新的窗口
open(“a.html”);
5.定时器:
–setInterval(“js代码”,毫秒数);//每隔多少秒执行
–setTimeout(“js代码”,毫秒数);//延时执行
–clearInterval(id);//清除
–clearTimeout(id);
var id = window.setTimeout("test()",3000);
function test(){
alert(123);
}
function init(){
window.clearTimeout(id);
}
15.js的dom对象
document object model 文档对象模型
**可以使用js的dom提供的对象,对html进行操作
dom解析原理:在内存中分配一个树形结构,根据html的层级结构
document对象:整个html对象
element对象:标签对象
属性对象
文本对象
16.document对象:
每个载入浏览器的html都会成为document对象
**write();
**getElementById();//通过id得到元素
**getElementsByName();//通过标签的name属性值得到标签,返回数组
**getElementsByTagName();//通过标签名得到标签,返回数组