JavaScript

目录

JavaScript概述

基本语法

函数

内置对象 事件

html DOM对象

计时


JavaScript概述

javaScript是美国网景公司(Netscape)开发的一种脚本语言,原名liveScript,后来Sun公司改名为JavaScript.

JavaScript不需要编译,由浏览器直接解释运行,写在网页中,简称js

JavaScript是一种直译式脚本语言,是嵌入在网页中,为网页添加各种动态效果(效果动态,数据动态).

作用:
1.响应客户端鼠标和键盘事件
2.客户端页面表单数据验证
3.使用JavaScript动态的改变页面标签的样式

JavaScript与html,css之间的关系:

html是网页的骨架(结构)

css是网页的外观(样式)

JavaScript是解释下语言(行为)

基本语法

JavaScript脚本写在script标签内(写JavaScript代码)

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title></title>
		<style type="text/css">
		p{color: aquamarine;}
		</style>
		<!-- 导入外部的js代码 -->
		<script src="js/outer.js" type="text/javascript" charset="utf-8"></script>
		<!-- 此标签内写JavaScript代码 -->
		<script type="text/javascript">
			//变量 数据类型 运算符 流程控制 循环 函数 对象 时间
			alert("你好,js!");
		</script>
		
	</head>
	<body>
	</body>
</html>

alert("hello,js!");

声明变量使用关键字var

eg:var name;

声明变量的同时对其赋值

var a=10;

JavaScript支持的类型

1.数值类型:整数,浮点数

2.布尔类型

3.字符串类型

4.undefined类型

5.Object对象类型

<script type="text/javascript">
			//声明变量 使用var关键字
			var a=10;
			    a="Any";
			var b=20;
			   
			//数据类型
				//1.数值类型 整数 浮点数 number
				var c=10;
				var d=10.5;
				//2.布尔类型
				var tr= true;
				var fa= false;
				//3.字符串 使用单引号 或 双引号表示
				var d='abcd';
				var s="abcd";
				//4.undefined类型 变量没有赋值 值不明确
				var e;
				//alert(e);
				
				//5.Object对象类型 
				var date=new Date();
				alert(date.getFullYear());
				alert(date.getMonth()+1);
				alert(date.getDay());
				
		</script>

运算符
             算数运算符
             + - * / % ++ --
            +数值+数值=数值 加法运算
            +数值+字符串  字符串+字符串=字符串  连接符

赋值运算

<script type="text/javascript">
			/*
			 运算符
			 算数运算符
			 + - * / % ++ --
			+数值+数值=数值 加法运算
			+数值+字符串  字符串+字符串=字符串  连接符
			*/
		   var a = 10;
		   var b = 5;
		   var c = "5";
		   var d = "aa";
		   //alert(a+b);//15
		   //alert(a+c);//105
		   
		   //alert(a-c);//5 数值-字符串数字(隐式的数据类型转换)
		   //alert(a-d);//NaN(not a number)
		   //alert(a*c);//50
		   
		   //a+=d;//a=a+d
		   //alert(a);//10aa
		   
		   //alert(b==c);//true 比较值是否相等
		   //alert(b===c);//false 比较的值 和数据类型是否相等 全等
		   
		   alert(a>c);//true
		   
		</script>

条件运算符

var result = (条件表达式)?结果1:结果2

控制语句:和Java相似

选择结构

1.单一选择结构(if)
2.二路选择结构(if/else)
3.多路选择结构(switch)

循环结构

1.由计数器控制的循环(for)
2.在循环的开头测试表达式(while)
3.在循环的末尾测试表达式(do/while)
4.break continue

函数

基本语法:

function functionName([arguments]){
javascript statements
[return expression]
}

1.有参数的函数,函数不需要被定义类型

2.有返回值,不需要定义返回值类型

3.实参可以传入任意类型

<script type="text/javascript">
		/*	function fun(){
				alert("hello!");//不输出,只是定义了函数
			}
			fun();//调用函数才能进行输出
		*/	

			//有参数的函数
			//声明变量name,变量本身没有类型
		/*	function fun(name,a,b){
				alert("hello!"+name+":"+a+":"+b);
			}
			fun("Jane",10,true);
			fun("Janery");
			fun(100);
		*/	
	   
			//有返回值的函数
			function sum(a,b){
				return a+b;
			}
          //var s=sum("10","5");//105
			var s=sum(10,5);//15
			alert(s);//10+5=15
		</script>

全局函数

全局函数:JavaScript 中已经定义好的,可以直接拿来调用的函数
            alert();
            parseInt();把数值(小数)转为整数数值,把一个字符串的数字转为数值类型,字符串不能以非数字开头
            parseFloat();把数值(小数)转为小数数值,把一个字符串的数字转为数值类型,如果有小数,保留小数部分
            typeof();返回arg值的数据类型
            eval();可运算某个字符串

           <script type="text/javascript">
           var a=10;
		   var b=10.5; //var b=10.5a 15  var b="a10.5" no
		   var c="5.5";
		//   alert(a+parseInt(b));//20
		//   alert(a+parseInt(c));//本来:15.5 实际:15 
		   
		//   alert(a+parseFloat(b));//20.5
		//   alert(a+parseFloat(c));//15.5
		   
		//   alert(typeof(a));//number
		//   alert(typeof(b));//number
		   
		//   var s="3+5";
		//   alert(eval(s));//8
		   
		//   var s="3+5*9-6";
		//   alert(eval(s));//42
		
		   var s="alert(a)";
		   eval(s);//10
		
		</script>

内置对象 事件

4种内置对象
        字符串,数组,日期,math

属性

length:返回该字符串的长度

方法

charAt(n):返回该字符串位于第n位的单个字符.
indexOf(char):返回指定char首次出现的位置.
lastIndexOf(char) :跟 indexOf() 相似,不过是从后边开始找.
substring(start,end) :返回原字符串的子字符串,该字符串是原字符串从start位
置到end位置的前一位置的一段.
substr(start,length) :返回原字符串的子字符串,该字符串是原字符串从start位
置开始,长度为length的一段.
split(分隔符字符) :返回一个数组,该数组是从字符串对象中分离开来的,<分隔
符字符>决定了分离的地方,它本身不会包含在所返回的数组中。
 

var s="abcefgh";//创建一个字符串对象
			var a=10;
			console.log(s.length);//向浏览器的控制台输出日志信息,方便调试代码
		//	alert(s.length);
		    console.log(s.charAt(0));
			console.log(s.indexOf("c"));
			console.log(s.lastindexOf("c"));
			console.log(s.substing(0,5));
			console.log(s.substr(2,5));
			console.log(s.split)

数组定义方法

属性

length:数组的长度,元素个数

方法

join(<分隔符>) :返回一个字符串,该字符串把数组中的各个元素串起来,用<分隔
符>置于元素与元素之间。
reverse() 使数组中的元素顺序反过来。如果对数组[1, 2, 3]使用这个方法,它将使数
组变成:[3, 2, 1]。
sort() :使数组中的元素按照一定的顺序排列。如果不指定<方法函数>,则按字母顺
序排列。
对数字排序需要调用排序函数。
function sortNumber(a,b){
return a - b;
}

<script type="text/javascript">
		
		//方法1
		/*	var a=new Array();
			a[0]=0;
			a[1]=1;
			a[2]=2;
			a[3]=3;
			console .log(a);
		*/
	   
		//方法2	
			/*var a=[1,2,3,4,5];
			console.log(a);
			*/
		   
		//方法3
		   /*var a=new Array(1,2,3,4,5);
		   console.log(a);
		   */
		   
		/*	var a=[1,2,3,4,5];
			console.log(a.length);
			console.log(a.join(":"));//把数组转为一个字符串
			console.log(a.reverse());//倒序排列
		*/	
			
		/*	var a=["b","a","d","c"];
			console.log(a.sort());//按照顺序排列
		*/
	   
			var a=[3,5,4,15];
			console.log(a.sort(numberSort));//排序不是按照数字大小排序
		     
			//自定义排序的规则函数
				function numberSort(a,b){
					return a-b;
			}
		</script>

内置对象-date

var date=new Date();
			console.log(date.getFullYear());
			console.log(date.getMonth()+1);
			console.log(date.getDate());
			console.log(date.getDay());
			console.log(date.getHours());
			console.log(date.getMinutes());
			console.log(date.getSeconds());

内置对象-math

属性
PI 返回π(3.1415926535...)。
方法
Math.abs(x) 绝对值计算;
Math.pow(x,y) 数的幂;x的y次幂
Math.sqrt(x) 计算平方根;
Math.ceil(x) 对一个数进行上舍入
Math. floor(x) 对一个数进行下舍入。
Math. round(x) 把一个数四舍五入为最接近的整数
Math. random() 返回 0 ~ 1 之间的随机数
Math. max(x,y) 返回 x 和 y 中的最大值
Math. min(x,y) 返回 x 和 y 中的最小值

console.log(Math.PI);
			console.log(Math.floor(8.888888));
			console.log(Math.random());
			console.log(Math.abs(5));
			console.log(Math.pow(3,6));
			console.log(Math.ceil(5));
			console.log(Math.round(8));
			console.log(Math.max(1,5));
			console.log(Math.min(1,5));

事件

<script type="text/javascript">
			function fun(){
				console.log("abcdefghijklmnopqrstuvwxyz");
			}
		//	fun();
		</script>
	</head>
	<body onload="fun()">
		<!-- 
		事件属于html标签中的内容
		可以操作标签产生事件,通过事件去调用指定的函数
		 onclick="fun()" 鼠标左键单击事件
		 onfocus="fun()" 输入框获取焦点时触发 聚焦事件
		 onblur="fun()" 输入框失去焦点时触发 失焦事件
		 onmouseover="fun()" 鼠标移到标签上时触发 悬浮事件
		 onmouseout="fun()" 鼠标离开标签时触发
		 onload="fun()" 网页内容加载完毕后触发
		 onchange="fun()"标签失焦时且内容发生改变时触发
		 -->
		 <input type="button" value="按钮" onclick="fun()" />
		 <div onclick="fun()">单击</div>
		 <input type="text" onfocus="fun()" /><br/>
		 <input type="text" onblur="fun()" /><br/>
		 <input type="button" value="按钮" onmouseover="fun()" /><br>
		 <input type="button" value="按钮" onmouseout="fun()" /><br>
		 <input type="text" onchange="fun()"/><br>
	</body>

html DOM对象

html dom对象?
              Document Object Model 文档,对象,模型
              JavaScript是一种面向对象的语言,操作网页时,把网页中的每一个标签都视为一个对象
              把这一类标签对象统称为dom对象
              那么JavaScript要想对网页中标签进行操作,那么就需要获取到要操作的标签
              要操作,先得到. 通过html dom,可用javaScript操作html文档的所有标签. 

             

四种方法查找元素

1.通过 id 找到 HTML 标签
document.getElementById(“id");
 

function oper(){
			 //在js中获得第一个文本框标签对象
			var tobj1=document.getElementById("txt1"); 
			var tobj2=document.getElementById("txt2"); 
			tobj2.value=tobj1.value;//把1的值赋给2
			tobj1.value="按钮";
			tobj1.type="button";
		 }  
		 
		 function changeBgColor(color){
			var bobj=document.getElementById("bid");
			 bobj.bgColor=color;
		 }
		   
		</script>
	</head>
	<body bgcolor="azure" id="bid">
		<input type="text" id="txt1" value=""/>
		<input type="text" id="txt2"/>
		<input type="button" value="操作" onclick="oper()"/>
		
		<input type="button" value="粉色" onclick="changeBgColor('pink')" />
		<input type="button" value="蓝色" onclick="changeBgColor('skyblue')"/>
		<input type="button" value="绿色" onclick="changeBgColor('green')"/>
	
	
	</body>

document对象表示我们整个html网页文件,网页加载完毕后,生成document对象
document.getElementById();根据标签的id获取唯一的一个标签对象
              拿到标签对象后,对标签的属性进行操作
              1.对标签的属性进行操作
              2.对标签体中的内容进行操作
              3.对标签的css属性进行操作

function oper(){
			 
			 //在js中获得第一个文本框标签对象
		/*	var divobj1=document.getElementById("box1");
			var divobj2=document.getElementById("box2");
			    divobj2.innerHTML=divobj1.innerHTML;
		*/  
	        var divobj1=document.getElementById("box1");
			divobj1.style.backgroundColor="#7FFFD4";
			divobj1.style.width="100px";
			divobj1.style.height="50px";
		 
		 }  

2.通过标签名找到 HTML 标签
document.getElementsByTagName("p");
3.通过类名找到 HTML 标签
document.getElementsByClassName("p");
4.通过name找到 HTML 标签
document.getElementsByName(“name");

<script type="text/javascript">
	function checkAll(ck){
	//var objs =document.getElementsByTagName("address");//通过标签名获取到多个标签集合
	//var objs =document.getElementsByTagName("input");//通过name属性获取到多个标签集合
	//var objs =document.getElementsByTagName("c1");//通过class属性名获取到多个标签集合
	 var objs = document.getElementsByName("address");
		for(var i=0;i<objs.length;i++){
			var obj=objs[i];
			obj.checked=ck;
				}
			//console.log(objs);}
			function checkAll1(){
				var objs = document.getElementsByName("address");
				for(var i=0;i<objs.length;i++){
					var objs=objs[i];
					objs.checked=!(objs.checked);
				}
				//console.log(objs);
			}
		</script>
	</head>
	<body>
		<input type="checkbox" name="address" value="地址1" class="c1"/>上海
		<input type="checkbox" name="address" value="地址2" class="c1"/>北京
		<input type="checkbox" name="address" value="地址3" />广州
		<input type="checkbox" name="address" value="地址4" />重庆 <br/>
		<input type="button"  value="全选" onclick="checkAll(true)"/>
		<input type="button"  value="全不选" onclick="checkAll(false)"/>
		<input type="button"  value="反选" onclick="checkAll(true)"/>
		
	</body>

计时

方法:
setTimeout(“函数”,”时间”)未来的某时执行代码
clearTimeout()取消setTimeout()
setInterval(“函数”,”时间”)每隔指定时间重复调用
clearInterval()取消setInterval()

<script type="text/javascript">
			function startTime(){
				t=setTimeout("oper()",5000);
				t=setInterval("oper()",3000);
			}
			function oper(){
				alert();
			}
			function stopTime(){
				clearTimeout(t);//停止计时器
				clearInterval(t);//停止计时器
			}
		</script>
	</head>
	<body>
		<input type="button" name="" id="" value="开始" onclick="startTime()" />
	     <input type="button" name="" id="" value="停止" onclick="stopTime()"/>
	</body>

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值