今日学习之Javascript

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档



提示:以下是本篇文章正文内容,下面案例可供参考

一、javascript是什么?

JavaScript(简称“JS”) 是一种具有函数优先的轻量级,解释型或即时编译型的编程语
言。虽然它是作为开发Web页面的脚本语言而出名,但是它也被用到了很多非浏览器环
境中,JavaScript 基于原型编程、多范式的动态脚本语言,并且支持面向对象、命令
式、声明式、函数式编程范式。

二、javascript的使用方式

1.内部方式

即在head标签里指定script标签书写js的代码
代码如下(示例):

在这里插入代码片

```html
<script>
		   //js中常用的函数
		   //1)要向浏览器输出内容
		   document.write("helloword!") ;
		   //2)可以在浏览器的控制台输出日志  ,使用控制台对象
		   console.log("helloworld") ;
		   //3)弹出一个提示框出来
		   //window对象属于浏览器内置对顶级对象,代表窗口,
		   //频繁调用可以不写
		   //window.alert("helloworld") ;
		   //简写为
		   alert("helloworld") ;
2.外部方式
1)单独在js文件夹中,单独创建后缀为.js的文件
2)在xxx.js文件中,书写js代码
3)在当前某个html页面中,导入这个xxx.js文件
			必须有开始标签,有结束标签
<script src="导入外部xxx.js文件的路径"></script>
在这里插入代码片 <!-- 导入外部js文件-->
		 <script src="js/01_.js"></script>
 <script>
		//完成自己的其他js代码
 </script>

三、js定义变量

1.定义JS变量
1.在js中,定义变量使用var来定义,var可以省略。(js是弱类型语言)
弱类型语言即语法结构不严谨。
2.因为js是弱类型语言,定义一个变量可以重复定义,后面的值会将前面的值覆盖掉。
3.var可以定义任何数据类型。
2.查看数据类型
在js中,查看一个变量的数据类型———用typeof(变量名)。
1.无论是整数还是小数,都是number类型(基本类型)。
2.无论是字符串还是字符,都是string类型(基本类型)。
3.undefined:未定义类型,就是自定义变量,没有给变量赋值。
4.object类型,(对象类型),自动提升为——Object:所有js内置对象的模板。

创建对象:

在这里插入代码片

```html
```html
<script>
		
						js如何创建对象
								var 对象名 = new Js内置对象() ;
								var s = new String("hello") ;
						
			*/			
		   var  a = 10 ;
		   var  a = 25 ;//重复定义变量在js中是支持的,java语言不支持!
		   var  b = 3.14 ;
		   //document.write((a+b)+"<br/>") ;
		   var  c = "helloworld" ;
		   var  d = 'a' ; //单引号括起来的单个内容 :字符
		   //var  e = 'abc' ; //虽然是单引号,但是是多个内容,浏览器解析为 字符串内容 ""
		   var  f  ;
		   var  g = new Object() ; //Object对象:是js内置对象的模板,就是提供了所有js内置对象的通用功能!
		   // var s = new String() ;
			
		   //输出到浏览器上				  //字符串+任何数据=字符串
		   document.write("a的值是:"+a+",a的数据类型是:"+typeof(a)+"<br/>") ; //a的值是10   后面这个+:字符串拼接符号
		   document.write("b的值是:"+b+",b的数据类型是:"+typeof(b)+"<br/>") ;
		   document.write("c的值是:"+c+",c的数据类型时:"+typeof(c)+"<br/>") ;
		   document.write("d的值是:"+d+",d的数据类型时:"+typeof(d)+"<br/>") ;
		   //document.write("e的值是:"+e+",e的数据类型时:"+typeof(e)+"<br/>") ;
		   document.write("f的值是:"+f+",f的数据类型时:"+typeof(f)+"<br/>") ;
		   document.write("g的值是:"+g+",g的数据类型时:"+typeof(g)+"<br/>") ;
		   
	
		</script>

四、Js运算符

1.算数运算符
  +,-,*,/,%(模:求余数)
2.赋值运算符
  =
var a = 10 ;将=右边的值赋值给左边的这个变量a;
3.比较运算符
        <,<=,>,>=,!=,==
		这些符号不管连接的表达式是复杂的还是简单的,最终
		要么就true,要么就false		
4.逻辑运算符
 基本符号:& 逻辑单与,有false,则false
 	      | 逻辑单或,有true,则true
		  ! 逻辑非  
		  非true,则false
	      非false,则true
		
一般情况下:开发中用的都是&&,||
逻辑双与&&:多个条件是并列关系,必须同时满足条件:有false,则false
逻辑双或||:多个条件是或者的关系,有一个成立,就成立了!,有true,则true
5.三元运算符(三目)
语法格式:
		表达式可以是简单的或者复杂,要么是true,要么false
		(表达式?)执行true的结果:执行false的结果;
执行流程:
		首先判断表达式是否成立,如果成立,则执行true的结果
		如果不成立,则执行false的结果;
在这里插入代码片<script>
			//算术运算符:
			var a = 3 ;  //将3赋值给变量a
			var b = 4 ;
			var c = 5 ;
			//var d = true ;
			//var f = false ;
			//document.write((a+d)+"<br/>") ;
			//document.write((a-f)+"<br/>") ;
			document.write((a+b)+"<br/>") ;
			document.write((a-b)+"<br/>") ;
			document.write((a*b)+"<br/>") ;
			document.write((a/b)+"<br/>") ;
			document.write((a%b)+"<br/>") ;
			document.write("<hr/>") ;
			document.write((a+b)==(a+c)+"<br/>") ;
			document.write("<hr/>") ;
			document.write((a>=b)+"<br/>") ;
			document.write((a==c)+"<br/>") ;
			document.write("<hr/>") ;
			
			//逻辑双与
			document.write((a==b) && (a+b)==7) ; //有false,则false
			document.write("<hr/>") ;
			document.write((b+c)==7 || (a==3)+"<br/>") ; //有true,则true
			document.write("<hr/>") ;
			document.write(!!(a!=b)+"<br/>") ;
			/*
				js代码或者java逻辑代码, 在一些判断的时候,会使用逻辑非,针对相反的一面进行错误提示
				
				登录场景
						前台用户输入的用户和后台查出的用户名不一样,这个时候前面使用非!
			*/
		    document.write("<hr/>") ;
		 /*  (表达式)?执行true的结果:执行false的结果;
		   执行流程:
		   	首先判断表达式是否成立,如果成立,则执行true的结果
		   	如果不成立,则执行false的结果; */
			var age = 20 ;
			document.write((age>18)?"这是一个成年人":"是一个未成年人") ;
			document.write("<hr/>") ;
			//有两个值,求两个最大值
			var num1 = 25 ;
			var num2 = 40 ;
			//定义一个变量接收
			var max = (num1>num2)?num1:num2 ;
			document.write("最大值是:"+max) ;
		 </script>

五、JS流程控制语句

1.顺序结构语句
 JS代码从上而下加载,比较简单的一类
2.选择结构语句
if语句	三种格式
格式1
	if(表达式){
		语句1;
		}
			执行流程:
					表达式是否成立,如果成立,才能执行语句1
							
格式2:开发中使用最多(针对两种结果判断)   (java语言中的if格式2也是使用最多的)
	if(表达式){
		语句1;
	}else{
	   语句2;
		}
			执行流程:
				  1)先判断表达式是否成立
					成立,则执行语句1
				  2)否则不成立,执行语句2
								
格式3:针对多种结果判断的
	if...else if...else
		if(表达式1){
			语句1;
	}else if(表达式2){
				语句2;
					...
					...
					...
			}else{
		语句n;
			}
				执行流程:先判断表达式1是否成立,
						如果成立,执行语句1
						如果不成立,继续判断表达式2是否成立,
						如果成立,执行语句2,不成立,依次执行下面的语句..
						
						如果上面都不成立,执行else中的语句n;					

代码示例:

<script>
				//选择结构语句之if格式2:使用最多 
				/**
				 * 在js中if中的内容,跟js数据类型有关系,(特例)
				 * 1)整数类型number,如果是非0的整数,if成立;否则,不成立
				 * 2)字符串类型string,如果是非空字符串,if成立;否则,不成立
				 * 3)对象类型object,如果是对象,new Object(),if成立;如果是null,空对象!
				 * 
				 */
				/* 
				if(null){
					alert("成立") ;
				}else{
					alert("不成立") ;
				} */
				
				//求最大值
				//已知两个变量
				var a = 30 ;
				var b = 20 ;
				
			
				
				
				
				//定义一个结果变量
				var max  ; //定义了
				if(a>b){
					max = a  ; //a赋值max
				}else{
					max = b ; //b赋值max
				}
				document.write("max的值是:"+max) ;
				document.write("<hr/>") ;
				
				//三元运算符 :比较两个数据最大值
				var max2 = (a>b)?a:b;
				document.write("max2的值是:"+max2)  ;
				
				document.write("<hr/>") ;
				//如果是三个运算符进行比较
				var m = 10 ;
				var n = 20 ;
				var z = 5 ;
				//使用中间变量的方式 (开发中经常用到的)
				//先使用m和n进行比较,将结果赋值给中间变量 
				
				var temp = (m>n)?m:n;
				//temp和z比较
				var max3 = (temp>z)?temp:z ;
				document.write("max3的值是:"+max3)  ;
				
				document.write("<hr/>") ;
				//if..eles...
				/*
					if...else的嵌套
					if(表达式1){
						if(表达式2){
							语句1;
						}else{
							语句2;
						}
						
						
					}else{
						
						if(表达式3){
							语句3;
						}else{
							语句4;
						}
						
					}
				*/
			   //定义一个变量max4
			   var max4 ;
			   if(m>n){
				   //m值大
				   if(m>z){
					   //m大
					   max4 = m ;
				   }else{
					   //z大
					   max4 = z ;
				   }
				   
			   }else{
				   //n大
				   if(n>z){
					   //n大
					   max4 = n ;
				   }else{
					   //z大
					   max4 = z;
				   }
			   }
			   document.write("max4的值是:"+max4)  ;
			   
				
		 </script>
3.switch语句
js中的switch语句
		switch(变量){
			
		case 值1:					//js中的case语句后面既可以是常量,也可以是变量!
									//java中的case语句后面只能是常量!
				语句1;
				break ; //结束,中断的意思
		case 值2:
				语句2;
				break ;
		...
		...
		default:
				语句n;
				break ;
		
		}
		执行流程:
		1)首先判断变量的值和值1是否匹配
			如果匹配,执行语句1,switch语句结束!
	   2)如果不匹配,继续和case后面的值2进行比较,成立,则执行语句2,break结束
	   ...
	   3)如果上面都不匹配,则执行语句n,语句结束
	   
	   
	   switch语句结束条件:
		1)遇见break结束
		2)程序默认执行末尾
		
		
		default语句可以在语句中的任何位置,但是如果在语句中,break最后别省略,否则如果case都不成立,执行
		default语句,会有case穿透现象!
		;如果在语句的末尾,break可以省略

六、JS事件编程

事件编程三要素
1)事件源---指的就是html标签		要么空参/要么带参
2)编写事件监听器----就写一个函数 (js代码) 
function  函数名称(形式参数名 1,形式参数名2......)
3)绑定事件监听器----就是在标签中有一些onxxx属性和函数名称进行绑定 onxx
事件:				
		单击点击		click
		双击点击     dbclick
							
		失去焦点		blur
		获取焦点		focus
							
		选项卡发生变化的事件....		change
							...

代码如下:


```html
```html
<script>
//function 函数名称(形式参数名1,形式参数名2......){...业务逻辑...}	
	//2)编写一个函数,事件监听器
			function myClik(){
			alert("点击事件触发了...") ;
			}
		 </script>
```<body>
		<!-- 写一个普通的按钮 -->
		<!-- 1)input标签:事件源 -->
		<input type="button" value="点我试试" onclick="myClik()" /><!-- 3)绑定2)里面的函数名称 -->
	</body>
课后练习
       根据输入的值,判断季节
		3,4,5月   春季
		6,7,8月   夏季
		9,10,11月  秋季
		12,1,2月  冬季
  	
		分析:
		1)获取文本输入框的输入的值
		此处 js的核心技术: dom编程 
	 	玩的就是获取标签对象,
		然后通过特有的方法改变标签对象的属性

代码如下

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>练习</title>
		
		 <script>
		 //编写事件监听器
		 function getMonth(){
			 
			 //1)通过dom操作,获取id="month"的这个标签对象,获取它的value属性的值
			 var inputObj = document.getElementById("month") ; 
			 //document.getElementById("id属性值") 固定js的dom操作语法
			 
			 //获取输入框的内容
			 content = inputObj.value ;
			// alert(content) ;
			//alert(typeof(content)) ;
			
			//完成判断
			//在js 字符串==整数,它会自动会将字符串---转换成整数
			if(content==3|| content==4 || content == 5){
				alert("春季") ;
			}else if(content==6|| content==7 || content == 8){
					alert("夏季") ;
			}else if(content==9|| content==10 || content == 11){
				alert("秋季") ;
			}else if(content==1|| content==2 || content == 12){
				alert("冬季") ;
			}else{
				alert("非法数据") ;
			}
		 }
		 	
		 </script>
	</head>
	<body>
		<input type="text" id="month" placeholder="请输入月份的值" />
		<!-- 1)事件源 -->
		<input type="button" value="点击查询" onclick="getMonth()" />
	</body>
</html>

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值