JavaScript
一、JavaScript简介
1.JavaScript是个什么东西?
它是个脚本语言,需要有宿主文件,它的宿主文件是HTML文件。
2.它与Java什么关系?
没有什么直接的联系,Java是Sun公司(已被Oracle收购了),JavaScript是netspace(网景公司,已被美国在线收购了),JScript是微软的,90%像JavaScript,一些功能只能在IE上使用。
3.它的用法:
在HTML中位置有三块:
(1)head里面
(2)body里面
(3)</html>之后
为了保险起见,一般写在</html>之后。
<script language="javascript">代码必须放在这里面</script>
4.三个常用对话框:
alert("")警告对话框,作用是弹出一个警告对话框。
confirm("")确定对话框,作用是弹出一个可供选择的确定对话框,点击确定之后,它返回ture,点击取消返回false,可以用变量来接收。
prompt("要显示的提示文字"),作用是弹出一个可以输入内容的对话框。
二、JavaScript语法
1.基本数据类型:
字符串、小数、整数、日期时间、布尔型等。
2.变量:
都是通用类型var,可以随便存储其它类型的值,可以直接使用,不用定义。但习惯上定义。
定义变量: var a; //所有变量定义都用var定义,var是通用的可变类型。
var s = "3.14"; var n = parseFloat(s); ; s += 5;
var d = parseInt(s);
3.数组:
数组的定义:new Array(); //它的长度是动态变化的,里面可以放任意类型的元素。
数组元素的赋值:a[0]=123; a[1]="hello"; //元素中的索引从0开始。
数组的取值:a[i];
数组属性:a.length; //数组元素的个数,长度。
方法:a.sort();//数组排序,按照每一个元素的第一个字符进行排序。a.reverse(); //翻转数组。
4.函数:
函数的四要素:名称、输入、返回值、加工。
定义函数:function add(形参){函数体} //函数名为add,输入为参数的形式,返回值可以是var类型,也可以return一个返回值。
函数必须经过调用才能执行。函数的调用:add(实参)。
*放在头部也可以读取(最先读取头部)
表单提交时会自动刷新网页,最好关掉
写法:
1、输出
<script>
document.write("hello world");
</script>
2、按钮运用
<input name="alert" value="alert"type="button" onclick='alert("这是触发事件")'/>
3、定义变量并输出
var bianliang;
bianliang="123";
document.write(bianliang);
4、改变元素的属性
<p id="hello">hello</p>
<script>
function hello()
{
x=document.getElementById("hello")
x.style.color = "#ff0000";
}
</script>
<input type="button" value="点击变颜色" onclick="hello()" />
<!--点击由黑色变红色-->
5、item索引,指示第n个出现的元素,与getElementsByName同时使用
定义一组变量
var student =
{
name:"张三",
sex:"男"
};
student.name="张三";
document.write(student.name);
(*打印“张三”)
外部调用JS
<script src=””></script>
1.类型转换:
分为自动转换和强制转换,一般用强制转换。
其他类型转换为整数:parseint();
其他类型转换为小数:parsefloat();
判断是否是一个合法的数字类型:isNaN();
是数字的话返回false,不是数字的话返回ture。
示例:
需要将prompt放进isNaN方法内
2.运算符:
数学运算符:+ - * / % ++ --;
关系运算符:== != >= <= > <;
逻辑运算符:&& || !;
其他运算符:+= -= *= /= %= ?:;
3.语句:
一般分为顺序、分支和循环语句。
(1)分支语句if:
if(判断条件)
{
满足条件要执行的语句
}
else
{
不满足条件时执行的语句
}
(2)循环for语句:
for(初始条件;循环条件;状态改变)
{
循环体
}
(3)问题类型:穷举、迭代。
(4)两个关键词:break 和 continue。
(5)如果要输出某一参数的值:输出的值是"+a+"和"+b"
<script>function visible1(){ $("p").hide();};</script></head><body><input type="button" onclick = "visible1()" value = "点这里让文字消失"/><p>我会消失。</p>
$("id1")就相当于document.getElementById("id1")
1、DOM的基本概念
DOM是文档对象模型,这种模型为树模型;文档是指标签文档;对象是指文档中每个元素;模型是指抽象化的东西。
2、Window对象操作
一、属性和方法:
属性(值或者子对象):
opener:打开当前窗口的源窗口,如果当前窗口是首次启动浏览器打开的,则opener是null。
dialogArgument:对话框返回值。
子对象:history,location,document,status,menubar,toolbar等。
方法(函数):事件(事先设置好的程序,被触发)。
二、Window.open("第一部分","第二部分","第三部分","第四部分")
Window.open的特征参数:
第一部分:写页面地址。
第二部分:_blank 打开的方式,在新窗口还是自身的窗口。
第三部分:控制打开的窗口格式,可以写多个,用空格隔开如下:
toolbar=no新打开的窗口无工具条 ;
menubar=no无菜单栏 status=no无状态栏 ;
width=100 height=100 宽度高度;
left=100 打开的窗口距离左边多少距离;
resizable=no窗口大小不可调 ;
scrollbars=yes 出现滚动条;
location=yes 有地址栏;
Window.open也有返回值,它的返回值是:新打开的窗口对象。
例如:
最简单的打开窗口:window.open("Untitled-6.html");
打开一个窗口并保存在变量中:var w= window.open();
可以将打开的多个窗口保存在数组w里:
function openW()
{
w[i++]=window.open();
}
三、window.close():关闭当前窗口;
w.close():关闭保存在变量w中的那个窗口;
关闭多个子窗口:先将打开的窗口存入数组内,利用循环将其挨个关闭;
关闭打开当前窗口的源窗口: window.opener.close();
四、间隔与延迟
间隔执行一段代码(函数):window.setInterval("要执行的代码",间隔的毫秒数)
清除间隔执行:window.clearInterval(间隔的id); 循环一次之后用来清除隔执行的代码
延迟一段时间执行某一段代码(函数):window.setTimeout("要执行的代码",延迟的毫秒数)
清除延迟:window.clearTimeout(延迟的id);清除setTimeout
五、调整页面
window.navigate("url") 跳转至目标页面,在谷歌浏览器下有bug;
window.moveTo(x,y) 移动页面至某一位置,位置由x和y决定;
window.resizeTo(宽,高) 调整页面的宽度和高度;
window.scrollTo(x,y)滚动页面至哪里,y代表纵向滚动。
六、模态对话框和非模态对话框
模态对话框(Modal Dialogue Box),是指在用户想要对对话框以外的应用程序进行操作时,必须首先对该对话框进行响应。如单击【确定】或【取消】按钮等将该对话框关闭,它和非模态对话框都是永远置顶的,它们的区别在于当对话框打开时,是否允许用户进行其他对象的操作。
打开模态对话框:window.showModalDialog("url","向目标对话框传的值","窗口特征参数");
特征参数:用分号隔开,像素大小用px。dialogHeight,dialogWidth,center,等
打开非模态对话框:window.showModelessDialog("url","向目标对话框传的值","窗口特征参数")
var a = window.dialogArgument;可以用一个参数来获取模态或非模态对话框传递的值。
3、Window.history对象
window.history.back();页面进行后退;
window.history.forward();页面前进;
window.history.go(n); n如果是正数则代表前进n个页面,n如果是负数则代表后退n个页面,一般常用这一种。
4、Window.location对象
location地址栏
var s = window.location.href;获取当前页面的地址
window.location.href="http://www.baidu.com";修改页面地址,会跳转页面
window.location.hostname: 主机名,域名,网站名,可用变量接收
window.location.pathname: 路径名,可用变量接收
5、Window.status对象
status状态栏,可以给状态栏添加要显示的文字
window.status="要在状态栏显示的内容";设置状态栏文字
例如:
function s(){ window.status = "向前走 就这么走";}
补充:
回车符/r和换行符/n的区别:/r 相当于enter,是段落与段落之间的区别,
/n 相当于shift+enter,是行与行之间距离,比较小
几种window操作方法:
1、获取当前窗口大小并打印:
var height=window.innerHeight;var width = window.innerWidth;document.write("<br/>"+"height"+height+",width"+width);
2、打开窗口、关闭当前窗口
window.open("http://baidu.com");window.close();
3、移动当前窗口到某一位置(x,y)
window.moveTo(200,200);
4、改变当前窗口的尺寸(width,height)
window.resizeTo(1100,1100);
5、获取当前页地址
document.write(location.href);
6、【历史记录】网页的前进(前进到之前的历史,相当于“→”)、后退(后退到之前历史,相当于“←”)
<!--后退用.back方法设置在另一个网页中即可--><input type="button" onClick="a()"value ="点我前进"/>
function a() { window.history.forward();/*前进到之前的历史*/ }
*navigator访问者浏览器的信息
alert:警告框 confirm:确认框 prompt:提示框
一、基本语法:数据类型(字符串,小数,整数,布尔,时间) var,
var s = "3.14"; var n = parseFloat(s); ; s += 5;
var d = parseInt(s);
isNaN(字符串):判断是否是数字模样的字符串;是-false; 不是-true
运算符:四大类
表达式:
语句:三大类(顺序,分支,循环)
分支:if(){}; if...else...;if...else if...else if ......else;if嵌套
循环:穷举,迭代;四要素(初始条件,循环条件,循环体,状态改变):
数组;var a = new Array()
函数:四要素(名称,输入,返回,加工)
function Show()
{
}
二、DOM操作:树
window对象——浏览器窗口
window.location:地址栏
window.history:访问历史
window.status:状态栏
window.document:重点!
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<script src="Untitled-2.js"></script>
</head>
<body><p id="hello">123</p>
<input value="请点击" type="button" onclick="hello()" />
</body>
</html>
<script type="text/javascript" language="javascript">
var a = 1;
var b ="3.14";
var c = true;
var d =3.14;
document.write("hello world!")
function hello()
{
var x = document.getElementById("hello");
x.style.color="red";
document.write(123456);
}
</script>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
</head>
<body>
<script>
var a =prompt("请输入一个数字","只能是数字");
var b = isNaN(a);
var height=window.innerHeight;
var width = window.innerWidth;
document.write("<br/>"+"height"+height+",width"+width);
</script>
</body>
</html>