一、函数的调用
直接调用函数的方式,this指向的全局对象window;
1、作为一个函数调用
不带参数
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>函数的调用</title>
</head>
<body>
<script type="text/javascript">
function myfun( ){
document.write('欢迎来到PHP中文网!');
}
myfun()
</script>
</body>
</html>点击 "运行实例" 按钮查看在线实例
带参数
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>函数的调用</title>
</head>
<body>
<script type="text/javascript">
function myfun(a,b){
document.write(a*b);
}
myfun(20,6);
</script>
</body>
</html>点击 "运行实例" 按钮查看在线实例
函数表达式
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>函数的调用</title>
</head>
<body>
<script type="text/javascript">
var add=function(x,y ){return x+y};
document.write(add(10,5));
</script>
</body>
</html>点击 "运行实例" 按钮查看在线实例
2、函数作为方法调用
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>函数的调用</title>
</head>
<body>
<script type="text/javascript">
var myobj={
firstName:"灭绝",
lastName:"师太",
fullName:function(){
return this.firstName + this.lastName;
}
}
document.write(myobj.fullName()); 获取对象
document.write(myobj.firstName); 获取对象内的一个属性值
</script>
</body>
</html>点击 "运行实例" 按钮查看在线实例
二、JavaScript闭包
全局变量和局部变量
函数内部变量是局部变量
函数外部的变量是全局变量
闭包就是能够读取其他函数内部变量的函数
变量的作用域无非就是两种:全局变量和局部变量
子对象会一级一级地向上寻找所有父对象的变量。所以,父对象的所有变量,对子对象都是可见的,反之则不成立。
注意点1:函数内部声明变量的时候,一定要使用var命令。如果不用的话,你实际上声明了一个全局变量!
注意点2:子对象会一级一级地向上寻找所有父对象的变量。所以,父对象的所有变量,对子对象都是可见的,反之则不成立。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>JavaScript闭包</title>
</head>
<body>
<script type="text/javascript">
function one(){
var x=50;
function two(){
var y=100;
document.write(x);
}
return two();
}
one();
</script>
</body>
</html>点击 "运行实例" 按钮查看在线实例
三、什么是HTML DOM?
所谓DOM(HTML Document Object Model),即HTML 文档对象模型,其作用是定义了访问和处理 HTML 文档的标准方法。HTML DOM 把 HTML 文档中的标签、属性和文本当做节点,将它们呈现为带有元素、属性和文本的树结构(节点树)。
节点(Node)
在DOM中,HTML 文档中的每个成分都是一个节点(node);
1. 整个文档是一个文档节点 ;
2. 每个 HTML 标签是一个元素节点 ;
3. 包含在 HTML 元素中的文本是文本节点 ;
4. 每一个 HTML 属性是一个属性节点 ;
5. 注释属于注释节点 ;
在DOM中,节点是有层次划分的,这些关系是相对的;
父节点:在上图中,<head>节点是<title>节点和<meta>节点的父节点;
子节点:在上图中,<h1>节点和<p>节点是<body>的子节点;
同级节点:在上图中,<h1>节点和<p>节点是同级节点,<title>节点和<meta>节点是同级节点;
祖先:在上图中,<html>节点和<body>节点都是<p>节点的祖先(祖辈);
后代:在上图中,<body>节点和<p>节点都是<html>节点的后代(后辈);
访问节点
(1) document.getElementById(id)
通过对元素的ID访问,这是DOM一个基础的访问页面元素的方法.返回的是单个节点
(2) document.getElementsByName(name)
仅用于inputradio checkbox等元素,返回名字为name的元素数组返回的是节点列表
(3) document.getElementsByTagName(tagname)
返回具有tagname的元素列表数组.处理大的DOM结构会用到它返回的是节点列表
获取/设置节点的属性
1. 获取节点的属性值
语法:
node.getAttribute(属性名)
2. 设置节点的属性值
语法:
node.setAttribute(属性名,属性值)
获取/设置元素节点的内容
1、获取元素节点内容
语法:
node.innerHTML
2、设置元素节点内容
语法:
inner.innerHTML="我是灭绝"
四、语法小扩展
cursor: pointer 鼠标移上有个小手的效果;
onclick onclick事件 属性由元素上的鼠标点击触发。
五、作业小轮播
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>小轮播点击切换效果</title>
<style type="text/css">
*{margin: 0;padding: 0;}
div{
width: 500px;height: 300px;
margin: 50px auto;
overflow: hidden;
position: relative;
}
img{
width:500px;height: 300px;
}
p{
width:500px;
position: absolute;bottom: 10px;
z-index: 1000;
color: white;
text-align: center;
}
p span{
display: inline-block;
width: 20px;
height:20px;
text-align: center;
background: rgba(0,193,237,0.5);
border-radius: 50%;
line-height: 20px;
cursor: pointer; /*cursor: pointer鼠标移上有个小手的效果*/
}
</style>
</head>
<body>
<div id="photo">
<!-- 图片列表 -->
<a href=""><img src="static/images/1.jpg"></a>
<a href=""><img src="static/images/2.jpg"></a>
<a href=""><img src="static/images/3.jpg"></a>
<a href=""><img src="static/images/4.jpg"></a>
<a href=""><img src="static/images/5.jpg"></a>
<!-- 图片按钮 -->
<p>
<span onclick="change(0)">1</span>
<span onclick="change(1)">2</span>
<span onclick="change(2)">3</span>
<span onclick="change(3)">4</span>
<span onclick="change(4)">5</span>
</p>
</div>
<script type="text/javascript">
function change(num){
var obj=document.getElementById('photo')
var obj_a=obj.getElementsByTagName('a');
// 隐藏a
for(var i=0;i<obj_a.length;i++){
obj_a[i].style.display="none";
}
obj_a[num].style.display="block";
}
</script>
</body>
</html>点击 "运行实例" 按钮查看在线实例
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号