2.3 javascript

2.3 javascript

  • javascript简图
    在这里插入图片描述

1.引入方式

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title></title>
		<script>
			/* 
			 javascript引入方式
			 1.使用script标签                                                调试时使用
			 2.使用script标签 通过src导入 (导入js文件的script标签 标签体无效)    调试完 js放入文件
			 3.在元素内 直接编写javascript代码                                 不建议使用
			 */
			console.log(123);
		</script>
		<script src="./js/myjs.js"></script>
	</head>
	<body>
		<input type="button" value="点我" onclick="javascript:console.log(333)" />
		
	</body>
</html>

2.基本语法

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<script>
			//单行注释
			/*
			  多行注释
			*/
			/* 
			声明变量   弱类型
			 声明时 不需要指明类型 赋值时 根据值的类型改变
			 */
			var test;
			test = 10;
			test = "abc";
			
			var myval1 = 10;
			myval1 = 10.01;
			myval1 = "str";
			myval1 = false;
			console.log(myval1);
			console.log(typeof myval1);
			/* 
			 数字  布尔值   蓝色
			 字符串        黑色
			 undefined    灰色

			 数字类型
			 bol类型
			 字符串类型
			 undefined类型
			 
			 Object 类型
			 function函数类型
			 null    对象初始值 
			 */
			
			var myval2;

			myval2 ="2abc0abc15";//NaN  not a number   NaN数字类型中的特殊值 不是数字
			myval2 ="ab10.15";
			var myval3 = parseInt(myval2);//从左到右解析 能解析出来的部分输出 解析不出来 舍去
			//尽最大可能不报错
			
			console.log(typeof myval3);
			console.log(myval3);
			
			var myval4 = parseFloat(myval2);
			
			console.log(typeof myval4);
			console.log(myval4);
			
			var myval5 = 10;
			
			console.log(typeof myval5.toString());
			console.log(myval5.toString());
			
		</script>
	</head>
	<body>
	</body>
</html>

3.运算符

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<script>
			var temp1 = 0.1;
			var temp2 = 0.2;
			//js丢失精度
			//toFixed 按位数取小数部分 并转成字符串
			console.log(parseFloat((temp1+temp2).toFixed(1)) );
			console.log("abc"+123);
			var temp3 = 1;
			console.log(temp3++);/* 前  运算  取值 
			                        后  取值  运算*/
			var val1 = 2;
			var val2 = true;
			//js比较时做内置转换   字符串 数字
			//                   bol值  数字  0  false  1 true
			// ==  比较值       ===  严格相等  比较值和类型
			console.log(val1==val2);
			console.log(val1===val2);
			//代码压缩   
			// if(!0){
			// }
			var bol1 = false;
			var bol2 = true;
			console.log(bol1&&bol2);	
		</script>
	</head>
	<body>
	</body>
</html>

4. 条件语句循环

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<script>
			/* var myscore = parseInt(prompt("请输入数字")); */
			//60以下  不及格
			//60-80   良
			//80以上   优
/* 			console.log(myscore);
			if(myscore<60){
				console.log("不及格");
			}else if(myscore<=80){
				console.log("良");
			}else{
				console.log("优秀");
			} */
			
/* 			var mygrage = prompt("请输入级别");
			switch (mygrage){
				case 'a':console.log("工资500");
					break;
				case 'b':console.log("工资1500");
					break;
				case 'c':console.log("工资2500");
					break;
				default:console.log("输入有误");
					break;
			} */
			var myarr = [1,2,3,4,5,6];
/* 			for(var i = 0;i<myarr.length;i++){
				console.log(myarr[i]);
			} */
/* 			
			for(var x in myarr){
				console.log(myarr[x]);
			} */
			
			/* 
			for    有限次数   
			while  不定次数
			 */
			/*
			练习1   运算符
			  1549
			  
			  个位+十位+百位+千位 
			  结果19
			
			  1-7数字
			练习2    条件语句
			  12345   输出工作日
			  67      输出 周末
			  其它     输入有误
			
			练习3    循环语句
			  乘法口诀表  输出到页面
			  把格式对齐
			*/			
			document.write("<h1>abc</h1>&ensp;abc");
		</script>
	</head>
	<body>
	</body>
</html>

5. 函数

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<script>
			/*
			
			系统函数
				parseInt()       字符串转整型
				parseFloat()     字符串转浮点型
				isNaN()          是否不是数字
				eval()           转换运行字符串
			
			自定义函数
			
			修饰符  返回值类型   方法名 (参数类型  形参,....){
				执行的代码
			}
			function 函数名 (参数列表){
				执行的代码
				如果需要返回值 
				return xxx;
			}
			*/
			//isNaN 是否不是数字
			//取反   是不是数字
			console.log(!isNaN("10"));
			var temp = "1+2*3";
			console.log(eval(temp));
			//加法运算
			function mySum(a,b){
				//console.log(a+b);
				
				return a+b;
			}
			var getTotal = mySum(1,3);
			console.log(getTotal);
			var myDiff = function (a,b){
				return a-b;
			}
			console.log(myDiff(3,1));
			console.log(typeof mySum);
			//变量作用域
			//var   全局
			//      函数内
			var temp2 = 20;
			function mytest(){
				temp2 = 10;//定义全局变量
				console.log("函数内读取"+temp2);
			}
			mytest();
			console.log("函数外读取"+temp2);
			//做用户交互效果
			//通过用户操作 鼠标操作  键盘操作   触发自定义函数
		</script>
	</head>
	<body>
	</body>
</html>

6.事件

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<style>
			.mydiv{
				border: 1px solid black;
				width: 100px;
				height: 100px;
			}
			
			
		</style>
		<script>
			/* 
			通过js定义交互效果: 
			元素上 加指定的事件  触发自定义函数
			οnclick="mytest()" 
			 document.getElementById("mydiv")  通过id获取元素
			 元素.属性                          获取或修改元素的内容
			 元素.属性        取值
			 元素.属性 = xxx  赋值
			 
			 .style.xxx  js中样式属性 css属性不完全一致
			 .value      表单元素的值
			 .innerHTML  双标签中的内容
			 .src        图片地址
			 
			 onclick                 鼠标点击
			 onmouseover             鼠标移入
			 onmouserout             鼠标移出
			 onfocus                 获取焦点
			 onblur                  失去焦点
			 onchage                 内容改变
			 onload                  页面加载结束后执行
			 onkeyup                 键盘弹起
			 onsubmit                表单提交   用在from上   return bol值  通过函数返回
			 */
			function mytest(){
				console.log("被点击了");
			}
			
			function changeBGC(mycolor,myobj){
				//如果触发的元素 与修改的元素相同  可以传入this 代替获取的元素 简化代码
				
				console.log(myobj);
				myobj.style.backgroundColor = mycolor;
			}
/* 			function changeBGC2(){
				document.getElementById("mydiv").style.backgroundColor = "white";
			} */
			
			function myCopy(){
				var temp = document.getElementById("text1").value;
				document.getElementById("text2").value = temp;
			}
			
			function changeTextColor(mycolor){
				document.getElementById("text1").style.color = mycolor;
			}

			function changeTextColor2(mycolor){
				document.getElementById("text1").style.color = mycolor;
				document.getElementById("text2").value = document.getElementById("text1").value;
			}
			function changeTitle(myObj){
				var temp = myObj.value;
				console.log(temp);
				document.getElementById("mytitle").innerHTML = temp;
			}
			function getSelVal(){
				//select的value 被选中的option的值
		console.log(document.getElementById("mysel").value) ;
			}
		</script>
	</head>
	<body>
		<input type="button" value="点我" onclick="mytest()" />
		<div id="mydiv" class="mydiv" onclick="mytest()" onmouseover="changeBGC('red',this)" onmouseout="changeBGC('white',this)">
			testdiv
		</div>
		<hr />
		<input id="text1" type="text" value="默认值" onfocus="changeTextColor('lightcoral')" onblur="changeTextColor2('black')"/>
		<input type="button" value="复制"  onclick="myCopy()"/>
		<input id="text2" type="text" />
		<hr />
		<input type="text" value="默认值" onblur="changeTitle(this)"/>
		<div id="mytitle">test</div>
		<hr />
		<select id="mysel" onchange="getSelVal()">
			<option value="1">北京</option>
			<option value="2">上海</option>
			<option value="3">深圳</option>
		</select>
	</body>
</html>
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<script>
			function myInit(){
				document.getElementById("text1").value ="abc123";
			}	
		</script>
	</head>
	<body onload="myInit()">
		<input id="text1" type="text" />
	</body>
</html>
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<style>
			span img{
				vertical-align: middle;
				display: none;
			}
			
			
		</style>
		<script>
			/* 写功能 */
/* 			function getTextVal(event){
				console.log(event.keyCode);
				console.log( document.getElementById("text1").value);
			}
			 */
			/* var myphone ="14444444477"; */
			var myreg = /^1(3|4|5|7|8)\d{9}$/;
			/* console.log(myreg.test(myphone)) ; */
			
			//手机号验证
			function regMyPhone(){
				var currentVal = document.getElementById("text1").value;
				document.getElementById("phoneImg").style.display = "inline";
				console.log(document.getElementById("phoneImg").src);
				console.log(document.getElementById("phoneImg").id);
				var flag = false;
				if(myreg.test(currentVal)){
					//console.log("格式正确");
					/* document.getElementById("regPhongSpan").innerHTML ="格式正确";
					document.getElementById("regPhongSpan").style.color = "seagreen"; */
					document.getElementById("phoneImg").src = "img/ok.png";
					flag = true;
				}else{
					//console.log("格式错误");
					/* document.getElementById("regPhongSpan").innerHTML ="格式错误";
					document.getElementById("regPhongSpan").style.color = "crimson"; */
					document.getElementById("phoneImg").src = "img/wrong.png";
				}
				return flag;
			}
			//邮箱验证
			function regMyMail(){
				return true;
			}
			//返回总结果
			function mysubmit(){
				//把每个验证的记过并起来
				return regMyPhone()&& regMyMail();
			}	
		</script>
	</head>
	<body>
		<hr />
			                                       <!-- onsubmit写法较特殊  return bol值 决定表单是否可以提交   -->
		<form action="1js引入方式.html" method="get" onsubmit="return mysubmit()">
			<input id="text1" type="text" onkeyup="regMyPhone()"/><span id="regPhongSpan"><img id="phoneImg" src="img/ok.png" /></span>
			<br />
			<input id="text2" type="text" onkeyup="regMyMail()"/>
			
			<br />
			<input type="submit" />
		</form>
	</body>
</html>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值