整理的第二天,忧郁.jpg。
临近暑假末尾却有一堆事情要做,啥也不会流下咸鱼的眼泪。
目录
初步了解JS
JavaScript用于网页和用户之间的交互。
<script type="text/javascript">
表示在<script></script>
之间的是文本类型(text),javascript是为了告诉浏览器里面的文本是属于JavaScript语言。
我们可以把HTML文件和JS代码分开,并单独创建一个JavaScript文件(简称JS文件),其文件后缀通常为.js,然后将JS代码直接写在JS文件中。
注意:在JS文件中,不需要<script>
标签,直接编写JavaScript代码就可以了。
JS文件不能直接运行,需嵌入到HTML文件中执行,我们需在HTML中添加如下代码,就可将JS文件嵌入HTML文件中。
<script src="script.js"></script>
JS的放置位置
放在<head>
部分
最常用的方式是在页面中head部分放置<script>
元素,浏览器解析head部分就会执行这个代码,然后才解析页面的其余部分。
放在<body>
部分
JavaScript代码在网页读取到该语句的时候执行。
JS语句格式与注释
JavaScript代码格式: 语句;
单行注释,在注释内容前加符号 “//”。
//多行注释以"/“开始,以”/"结束。
/* */
变量
定义变量使用关键字var,语法如下: var 变量名;
在JS中区分大小写。
javascript中没有字符的概念,只有字符串,所以单引号和双引号,都用来表示字符串。
函数
函数是完成某个特定功能的一组语句。
function 函数名()
{
函数代码;
}
输出内容
document.write()
可用于直接向 HTML 输出流写内容。简单的说就是直接在网页中输出内容。
第一种:输出内容用" “括起,直接输出”"号内的内容。
<script type="text/javascript">
document.write("I love JavaScript!");
//内容用""括起来,""里的内容直接输出。
</script>
第二种:通过变量,输出内容
<script type="text/javascript">
var mystr="hello world!";
document.write(mystr); //直接写变量名,输出变量存储的内容。
</script>
第三种:输出多项内容,内容之间用+号连接。
<script type="text/javascript">
var mystr="hello";
document.write(mystr+"I love JavaScript");
//多项内容之间用+号连接
</script>
第四种:输出HTML标签,并起作用,标签使用""括起来。
<script type="text/javascript">
var mystr="hello";
document.write(mystr+"<br>");//输出hello后,输出一个换行符
document.write("JavaScript");
</script>
对话框
警告(alert 消息对话框)
弹出一个小窗口,上面写着一段提示信息文字。如果你不点击“确定”,就不能对网页做任何操作,这个小窗口就是使用alert实现的。
alert(字符串或变量);
确认(confirm 消息对话框)
confirm 消息对话框通常用于允许用户做选择的动作。
confirm(str);
/*str:在消息对话框中要显示的文本
返回值: Boolean值
*/
提问(prompt 消息对话框)
弹出消息对话框(包含一个确定按钮、取消按钮与一个文本输入框)。
prompt(str1, str2);
/*
参数说明:
str1: 要显示在消息对话框中的文本,不可修改
str2:文本框中的内容,可以修改,可不写表示空。
返回值:
1. 点击确定按钮,文本框中的内容将作为函数返回值
2. 点击取消按钮,将返回null
*/
打开新窗口
window.open([URL], [窗口名称], [参数字符串])
/*
参数说明:
URL:
可选参数,在窗口中要显示网页的网址或路径。如果省略这个参数,或者它的值是空字符串,那么窗口就不显示任何文档。
窗口名称:可选参数,被打开窗口的名称。
1.该名称由字母、数字和下划线字符组成。
2."_top"、"_blank"、"_self"具有特殊意义的名称。
_blank:在新窗口显示目标网页
_self:在当前窗口显示目标网页
_top:框架网页中在上部窗口中显示目标网页
3.相同 name 的窗口只能创建一个,要想创建多个窗口则 name 不能相同。
4.name 不能包含有空格。
参数字符串:可选参数,设置窗口参数,各参数用逗号隔开。
例如:打开http://www.imooc.com网站,大小为300px * 200px,无菜单,无工具栏,无状态栏,有滚动条窗口:
<script type="text/javascript"> window.open('http://www.imooc.com','_blank','width=300,height=200,menubar=no,toolbar=no, status=no,scrollbars=yes')
</script>
关闭窗口
window.close(); //关闭本窗口
<窗口对象>.close(); //关闭指定的窗口
例如:
<script type="text/javascript">
var mywin=window.open('http://www.imooc.com');
//将新打的窗口对象,存储在变量mywin中
mywin.close();
</script>
DOM操作
文档对象模型DOM(Document Object Model)定义访问和处理HTML文档的标准方法。DOM 将HTML文档呈现为带有元素、属性和文本的树结构(节点树)。
HTML文档可以说由节点构成的集合,三种常见的DOM节点:
-
元素节点:上图中
<html>、<body>、<p>
等都是元素节点,即标签。 -
文本节点:向用户展示的内容,如
<li>...</li>
中的JavaScript、DOM、CSS等文本。 -
属性节点:元素属性,如
<a>
标签的链接属性href="http://www.imooc.com"。
获取节点
通过ID获取元素节点
document.getElementById(“id”);
//获取的元素是一个对象,如想对元素进行操作,我们要通过它的属性或方法。
通过标签名称获取元素节点
通过 getElementsByTagName 根据标签名称获取一个元素数组。
通过类名获取元素节点
getElementsByClassName 根据class返回一个节点数组
例如:
<html>
<h1 class="d" >hello javascript</h1>
<h2 class="d" >hello BOM</h2>
<div class="d" >hello DOM</div>
<br>
<script>
var elements= document.getElementsByClassName("d");
for(i=0;i<elements.length;i++){
document.write(elements[i]);
document.write("<br>");
}
</script>
</html>
通过表单元素的name获取元素节点
getElementsByName可以根据name属性的值,获取元素节点
显示和隐藏(display属性)
Object.style.display = value;
//Object是获取的元素对象,如通过document.getElementById("id")获取的元素。
计时器
执行一次
函数setTimeout(functionname, 距离开始时间毫秒数 );
通过setTimeout在制定的毫秒数时间后,执行一次 函数functionname
<script>
function printTime(){
var d = new Date();
var h= d.getHours();
var m= d.getMinutes();
var s= d.getSeconds();
document.getElementById("time").innerHTML= h+":"+m+":"+s;
}
function showTimeIn3Seconds(){
setTimeout(printTime,3000);
}
</script>
<div id="time"></div>
<button onclick="showTimeIn3Seconds()">点击后3秒钟后显示当前时间,并且只显示一次</button>
不断重复执行,相当于钟表
<p>每隔1秒钟,打印当前时间</p>
<div id="time"></div>
<script>
function printTime(){
var d = new Date();
var h= d.getHours();
var m= d.getMinutes();
var s= d.getSeconds();
document.getElementById("time").innerHTML= h+":"+m+":"+s;
}
var t = setInterval(printTime,1000);
/*
函数setInterval(函数名, 重复执行的时间间隔毫秒数 );
通过setInterval重复执行同一个函数,重复的时间间隔由第二个参数指定
*/
</script>
<br><br>