Blogger Information
Blog 16
fans 2
comment 2
visits 13136
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
JavaScript基础第三课:函数的调用、JavaScript闭包、HTML DOM--2019.3.27
斜杠菜鸟的博客
Original
717 people have browsed it

一、函数的调用

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

运行实例 »

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


Correction status:Uncorrected

Teacher's comments:
Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post