JavaScript交互式网页设计 第二章 JS函数与事件

函数的定义:

<script type="text/javascript">
			function 函数名(形参1,形参2,…形参n){
				语句;
			}
		</script>

定义函数有4个规则:

1.function是关键字。function后面是函数名,js中的函数不必说明返回值类型

2.函数的命名规则与变量名的命名规则相同

3.函数名的()可以包括若干参数,也可以选择不带任何参数

4.最后是一对{ },包含具体实现程序中的某些特定功能的若干语句

示例:

<script type="text/javascript">
			//具名函数
			//计算长方形的面积
			//形参和实参的个数可以不一样,当形参多了,直接忽略掉
			
			Function getArea(width,height){//形参
				var area=width*height;
				document.write("面积为"+area);
			}
</script>

函数的返回值:

return 返回值;

匿名函数:

<script type="text/javascript">
			(function  (width,height) {
				console.log("匿名函数",width*height)
			})(9,9);
			
			var getMm=function  (width,height) {
				console.log("匿名函数",width*height)
			};
			getMm(7,7);
</script>

箭头函数:

<script type="text/javascript">
			((width,height)=>{
				console.log("箭头函数",width*height);
			})(6,6);
</script>

变量的作用域:

变量的作用域主要分为全局变量和局部变量两种。全局变量是在函数体外部声明的,可以在任何地方,包括函数的内部使用。局部变量是在函数体内声明的,只能在函数体内部使用。局部变量随着函数的结束而消失。

系统函数:

parseInt()函数:将字符串转换为整数,如果不是以整数开头,将返回NaN(非数字值)

parseFloat()函数:返回的是一个浮点数

isNaN()函数:用于判断参数是否是NaN。如果是NaN,那么isNaN()函数返回true

eval()函数:是以字符串形式表示的js代码串,并返回执行代码串后的结果

<h2>
			<input type="text"id="txt"/>
			<input type="button"value="计算" onclick="caculate"/>
			<script type="text/javascript">
				function caculate(){
					var innerT=document.getElementById("txt").value;
					var rs=eval(innerT);
					alert("计算结果是:"+rs);
				}
			</script>
</h2>

js事件:

<body>
		<!-- 方式一 -->
		<p onclick="this.style.fontSize='30px'">事件与处理程序的绑定</p>
		<!-- 方式二 -->
		<p id="tex" onclick="changeSize()">事件与处理程序的绑定</p>
		<p id="text">事件</p>
		<script type="text/javascript">
			function changeSize(){
				var obj=document.getElementById("tex");
				obj.style.fontSize='30px';
			}
			function changeSize1(){
				var obj=document.getElementById("text");
				obj.style.fontSize='30px';
			}
			document.getElementById("text").onclick=changeSize1;
		</script>
</body>

js常用事件

鼠标点击事件:

性别:
		<input type="radio" name="gender" id="man" value="男生" onclick="showGender(this)">男
		<input type="radio" name="gender" id="woman" value="女生" onclick="showGender(this)">女 <!-- ctrl+alt+r复制上一行 -->
	<script type="text/javascript">
		//onclick鼠标点击事件
		function showGender(obj){
			alert("您的性别是:"+obj.value);
		}
	</script>

onmouseover事件和onmouseout事件

<marquee behavior="" direction="right" onmouseover="stop()" onmouseout="start()">
		<h1 id="sanshuo">哈哈哈</h1>
		<img src="img/img_1.jpg" alt="">
</marquee>

onmousemove事件:

    <!-- onmousemove鼠标移动事件 -->
	鼠标移动了<span id="sp">0</span>像素
	<div style="width: 200px; height: 200px; background-color: paleturquoise;"         onmousemove="moveCount()"></div>
	<script type="text/javascript">
		var count=0;
		function moveCount(){
			document.getElementById("sp").innerHTML=++count;
		}
	</script>

onload事件

    <!-- onload事件 -->
	<script type="text/javascript">
		window.onload=function(){
		 	alert("加载完成");
		}
		//用箭头函数做加载完成
		// window.onload=()=>{alert("马卡");}
	</script>

onblur事件

    <!-- onblur事件 鼠标或光标离开之后的事件-->
	<fieldset id="" style="width: 400px;">
		<legend>用户登录</legend>
		用户名:<input type="text" name="userName" id="userName" onblur="checkUser(this)">
		<span id="error" style="color: red;"></span>
	</fieldset>
	<script type="text/javascript">
		function checkUser(obj){
			if(obj.value.length<=6){
				// alert("输入不合法,请重新输入");
				document.getElementById("error").innerHTML="*输入不合法,请重新输入";
			}
		}
	</script>

onchange事件

    <!-- onchange事件 -->
	个人介绍:
	<select name="" id="" onclick="changeLink(this)">
		<option value="请选择">请选择</option>
		<option value="http://www.baidu.com">百度</option>
		<option value="http://www.taobao.com">淘宝</option>
	</select>
	<script type="text/javascript">
		function changeLink(obj){
			if(obj.value!="请选择"){
				window.open(obj.value);
			}
		}
	</script>

表单事件

 onkeypress 键盘按键事件

keycode=13 回车键

keycode=9 Tab键

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值