3月25日html(六) Javascrip
第1部分 JavaScript简介
1、JavaScript它是个什么东西?
它是个脚本语言,需要有宿主文件,他的宿主文件是html文件。
2、它与Java有什么关系?
没有什么直接联系,java是Sun公司(已经没有了,被Oracle收购了),JavaScript是Netscape(网景公司 也没有了,被美国在线收购了),Jscript是微软的,90%像JavaScript,一些功能只能在IE上使用。
3、它的用法
在html中的位置有三块:
1.head里面
2.body里面
3.</html>之后,为了保险起见一般写在</html>之后。
<script language="javascript">代码必须放在这里面</script>
4、三个常用对话框
alert("") 警告对话框,作用是弹出一个警告对话框;
alert("页面无法加载") :
confirm("") 确定对话框,作用是弹出一个可供选择的确定对话框,点击确定之后,它返回ture,点击取消返回flase,可用变量来接收。
confirm("确定退出吗?") :
prompt("要显示的提示文字"),作用是弹出一个可以输入内容的对话框。
prompt("请输入数字","12345") :
二、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同时使用
6、定义一组变量
var student =
{
name:"张三",
sex:"男"
};
student.name="张三";
document.write(student.name);
(*打印“张三”)
7、外部调用JS
<script src=””></script>
第2部分 JavaScript语法
1.类型转换:
分为自动转换和强制转换,一般用强制转换。
其他类型转换为整数:parseint();
其他类型转换为小数:parsefloat();
判断是否是一个合法的数字类型:isNaN();//判断是不是 :不是一个数字
是数字的话返回false,不是数字的话返回ture。
需要将prompt放进isNaN方法内
示例:
var a=prompt("请输入一个数字","只能是数字哦!");
var b=isNaN(a);
alert(b);
2.运算符:
数学运算符:+ - * / % ++ --;
关系运算符:== != >= <= > <;
逻辑运算符:&& || !;
其他运算符:+= -= *= /= %= ?: ;
3.语句:
一般分为顺序、分支和循环语句。
(1)分支语句if:
if(判断条件)
{
满足条件要执行的语句
}
else
{
不满足条件时执行的语句
}
(2)循环for语句:
for(初始条件;循环条件;状态改变)
{
循环体
}
(3)问题类型:穷举、迭代。
(4)两个关键词:break 和 continue。
(5)如果要输出某一参数的值:输出的值是"+a+"和"+b"
第3部分 JavaScript的DOM操作
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代表纵向滚动。
1、Window.history对象
window.history.back();页面进行后退;
window.history.forward();页面前进;
window.history.go(n); n如果是正数则代表前进n个页面,n如果是负数则代表后退n个页面,一般常用这一种。
2、Window.location对象
location地址栏
var s = window.location.href;获取当前页面的地址
window.location.href="http://www.baidu.com";修改页面地址,会跳转页面
window.location.hostname: 主机名,域名,网站名,可用变量接收
window.location.pathname: 路径名,可用变量接收
3、Window.status对象
status状态栏,可以给状态栏添加要显示的文字
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、【历史记录】网页的前进(前进到之前的历史,相当于“→”)、后退(后退到之前历史,相当于“←”)
<input type="button" onClick="a()"value ="点我前进"/>
function a()
{
window.history.forward();/*前进到之前的历史*/
}