博客列表 >JavaScript基础第三课:函数的调用、JavaScript闭包、HTML DOM--2019.3.27

JavaScript基础第三课:函数的调用、JavaScript闭包、HTML DOM--2019.3.27

斜杠菜鸟的博客
斜杠菜鸟的博客原创
2019年03月30日 11:22:34724浏览

一、函数的调用

  • 直接调用函数的方式,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>

运行实例 »

点击 "运行实例" 按钮查看在线实例


声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议