前端技术_JavaScript(第二章)

目录

1.怎样学习JavaScript

2:JavaScript语法和基本对象

2.1 ECMAScript

2.2文档对象模型(DOM)

2.3浏览器对象模型(BOM)

3:JavaScript结语


1.怎样学习JavaScript

首先我们知道JavaScript有这三部分构成

ECMAScript,描述了该语言的语法和基本对象。

文档对象模型(DOM),描述处理网页内容的方法和接口。 

浏览器对象模型(BOM)wondows,描述与浏览器进行交互的方法和接口。

2:JavaScript语法和基本对象

2.1 ECMAScript(此部分跟Java语法很相识)

 js作为一种语言,我们按照学习其他编程语言例如Java的思路来,js的也是有语法,数据类型,方法,事件,运算符,逻辑语句等组成。这些就是ECMAScript

--------------------------------js数据类型,方法,事件,运算符,逻辑语句案例---------------------------------------------------------------------

JavaScript数据类型:

JavaScript数值类型分为基本数据类型引用数据类型

基本数据类型分为:【字符串】【数字类型】【布尔类型】【Null】【Undefined】

引用数据类型分为:【数组Array】【对象Object】【函数function】

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>

</head>
<body>
	<h1>JavaScript数值类型分为基本数据类型和引用数据类型</h1>
	<br>
	<br>
	<br>
	<br>
	<h2>1基本数据类型分为【字符串】【数字类型】【布尔类型】【Null】【Undefined】</h2>
	<h3>1.1---------------【字符串】---------------</h3>
	<p id="String"></p>
	<button type="button" onclick="String()">String点击</button>
	
	
	
	<h3>1.2---------------【数字类型】---------------</h3>
	
	<button type="button" onclick="Ints()">Int点击求和</button>
	<input type="text" name="a" id="a">
	<input type="text" name="b" id="b">
	<p id="int"></p>
	
	
	<h3>1.3---------------【布尔类型】---------------</h3>
	
	<button type="button" onclick="bools()">布尔类型点击</button>
	<input type="text" id="b1" placeholder="输入布尔类型">

	<p id="int"></p>
	
	
	<h3>1.4---------------【Null类型】和【Undefined】---------------</h3>
	
	<button type="button" onclick="Nulls()">空类型点击</button>
	<br>
	<br>
	<br>
	<br>
	<br>
	<br>
	<h2>2引用数据类型分为【数组Array】【对象Object】【函数function】</h2>
	<h3>2.1---------------【数组Array】---------------</h3>
	<button type="button" onclick="Arrays()">数组类型点击</button>
	
	<h3>2.2---------------【对象object】---------------</h3>
	<button type="button" onclick="objects()">对象类型点击</button>
	<p id="obj"></p>
	<p id="obj1"></p>
	
	
	<h3>2.3---------------【函数function】---------------</h3>
	<button type="button" onclick="functions('小白',20)">方法类型点击1</button>
	<button type="button" onclick="functions('小黑',18)">方法类型点击2</button>
	<button type="button" onclick="functionss('小红',22)">返回值方法点击3</button>
	
	
	
	<script type="text/javascript">
	
	function functionss(a,b){
		//调用返回方法
	   	var a=returns(a, b);
	   	alert(a);
	}
	//含有返回值的方法
	function returns(a,b){
		console.log("进入返回方法")
	   return "姓名是:"+a+"年龄是:"+b;
	}
	
	function functions(a,b){
		alert("姓名是:"+a+"年龄是:"+b);
	}
	
	
	
	function objects(){
		alert("进入对象类型方法:");
		document.write("对象由花括号分隔。在括号内部,对象的属性以名称和值对的形式 (name : value) 来定义。属性由逗号分隔:<br>");
		
		var users={
					name:"张三",
					age:23,
					address:"北京海淀区"
					};
		
		document.write("姓名是:"+users.name);
		document.write("年龄是:"+users.age);
		document.write("住址是:"+users["address"]+"<br>");
		
		var users1=new Object();
		var users1={
				name:"企鹅",
				age:3,
				address:"泳池"
				};
		document.write("姓名是:"+users1.name);
		document.write("年龄是:"+users1.age);
		document.write("住址是:"+users1["address"]+"<br>");
		
		
		var users3=new Object();
		var users3={
				name1:"狮子",
				age1:15,
				address1:"非洲大草原",
				get:function(input){
						
						document.write("姓名是:"+this.name1+"爱:"+input);
					}
				};
		document.getElementById("obj").innerHTML=users3.get("吃肉<br>");
		document.getElementById("obj1").innerHTML=users3.get;
	
	}
	
	function Arrays(){
		alert("进入数组类型方法");
		var array1=["aa","bb","cc","aa"];
		for(i=0;i<array1.length;i++){
			document.write(array1[i]+"<br>")
		}
		document.write("==============数组用[]来放====================<br>");
		var array2=new Array();
		array2[0]="魔力";
		array2[1]="nike";
		array2[2]="adidas";
		array2[3]="魔力";
		for(i=0;i<array2.length;i++){
			document.write(array2[i]+"<br>")
		}
		document.write("=============获取数组第4位指定值=====================<br>");
		document.write(array2[3]);
	}
	
	function Nulls(){
		alert("进入null类型方法");
		var a=null;
		var b;//Undefined 未定义
		alert("a的值是:"+a);
		alert("b的值是:"+b);
	}
	
	
	function bools(){
		alert("进入布尔类型方法");
		var a=document.getElementById("b1").value;
		/* var b=Boolean(a);
		alert("b的值为:"+b); */
		//第一条:if(a) a的值只要不为空,if(a)均为true  如果a的值为空,则if(a)均为false
		//第二条:Boolean(a)  a的值只要不为空,Boolean(a)均为true  如果a的值为空,则Boolean(a)均为false
		//所以最好比较字符串是否相等
		if(a=="true"){
			alert("布尔值为真");
		}else{
			alert("布尔值为假");
		}
	}
	
	
	function Ints(){
		var d=new Number(444);
		alert("进入数字类型方法:"+d);
		
		
		var a=document.getElementById("a").value;
		var a1=Number(a);//类型强制转化
		var b=document.getElementById("b").value;
		var b1=parseInt(b);//方法转化
		var sun=a1+b1;
		document.getElementById("int").innerHTML=a+"+"+b+"="+sun;
		//document.write("姓名:"+name+"----今年:"+age+"岁-----家住:"+address);
	}
	
	function String(){
		var aa=new String("吹吹打打");
		alert("进入字符串类型方法"+aa);
		//创建方法
		
		var name='张三';
		var address='北京';
		var age='23';
		var doc;
		doc=document.getElementById("String");
		doc.innerHTML="姓名:"+name+"----今年:"+age+"岁-----家住:"+address;
		//document.write("姓名:"+name+"----今年:"+age+"岁-----家住:"+address);
	}

	</script>
</body>
</html>

 --------------------------------Js注册验证两次密码否相同,邮箱是否合格--------------------------------------------------------------------

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
 
<form action="跳转.html" name="myfrom" method="post" onsubmit="return aa()">
	账户:<input type="text" name="name" placeholder="请输入账户"  required="required"><br>
	密码:<input type="password" name="password" placeholder="请输入密码" required="required"><br>
	确认密码:<input type="password" name="password1" placeholder="请输入密码"  onblur="check()" required="required"><br>
	邮箱:<input type="text" name="email" placeholder="请输入邮箱" onblur="check()"  required="required"><br>
	<input type="submit" id="submit" value="注册"><br>
	<p id="p1">
</form>

<script type="text/javascript">
//鼠标离开之前就验证
function check(){
	var name=document.myfrom.name.value;
	var password=document.myfrom.password.value;
	var password1=document.myfrom.password1.value;
	if(password==password1){
		 //alert("鼠标离开密码相同");
		 document.getElementById("p1").innerHTML="两次密码一致";
		 document.getElementById("submit").disabled = false;
	}else{
		alert("鼠标离开两次密码不一致!");
		document.getElementById("p1").innerHTML="两次密码不一致";
		document.getElementById("submit").disabled = true;//disabled = true表示禁用该标签
	}
	
	
}
//点击验证
function aa(){

	var name=document.myfrom.name.value;

	var password=document.myfrom.password.value;

	var password1=document.myfrom.password1.value;
	
	var email=document.myfrom.email.value;
    var a=email.indexOf("@");
    var b=email.indexOf(".");
    //789@qq.com
    //0123456789
	if(a<1||b<a+2||b+2>=x.length){
		alert("邮箱不合格!");
		return false;
	}
	
	if(password==password1){
		alert("密码相同");
		document.getElementById("p1").innerHTML="两次密码一致";
		return true;
	}else{
		alert("两次密码不一致!");
		//document.getElementById("p1").innerHTML="两次密码不一致";
		return false;
	}
	
}
</script>
</body>
</html>

以上之是就简单案例粗略的运用到了js的数据类型,运算符,方法,事件,逻辑语言等的基本操作。

2.2文档对象模型(DOM)

同时呢js还有一个重要的功能就是让远古时代的静态html动起来,怎么能让html动起来呢,这就需要通过HTML DOM(文档对象模型),当网页被加载的时候,将整个html的head,body里边的所有标签加载进来,(就像Java的dom4j解析xml一样),将整个HTML生成DOM树结构,方便我们去访问修改,并且对标签事件产生反应。

 --------------------------------Js的dom模型通过document获取指定标签,然后修改值--------------------------------------------------------------------

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>JavaScript学习1</title>
</head>
<body>
<p id="p1">这是一个段落</p>
<img id="img1"  src="before.png" width="600" height="200">
<button type="button" onclick="xiugai()">点击修改段落</button>
<button type="button" onclick="xiugai1()">点击修改图片</button>
<script type="text/javascript">
function  xiugai() {
	var a="段落修改后";
	document.getElementById("p1").innerHTML=a;
}

function  xiugai1() {
	document.getElementById("img1").src="after.png";
}
</script>
</body>
</html>

2.3浏览器对象模型(BOM)

浏览器对象模型(Browser Object Model)是JavaScript有能力与浏览器对话,主要定于JavaScript跟浏览器交互的。Window 对象,所有浏览器都支持 window 对象。它表示浏览器窗口。所有 JavaScript 全局对象、函数以及变量均自动成为 window 对象的成员。全局变量是 window 对象的属性。甚至 HTML DOM 的 document 也是 window 对象的属性之一;例如最常用弹窗语法:windows.alert("这是一个浏览器对象模型弹窗");

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<script type="text/javascript">
window.alert(window.innerWidth+":"+window.innerHeight)
</script>
</body>
</html>

3:JavaScript结语

JavaScript作为一门依托于浏览器的脚本语言,学习过程中可以参考其他的语言,就跟其他语言一样,也有自己的数据结构和语法以及各种各样的运算符,方法,逻辑运算,触发条件等基本元素,同时作为脚本JavaScript也有其独有的地方就是DOM(文档对象模型,用于是编辑修改html,结合其他的语法从而使html动起来)和BOM(浏览器对象模型,用于和浏览器交互)。这就是JavaScript的基本框架,但是鉴于JavaScript作为一种语言在每一个组成部分下,都有很多的细节,本章节不做过多例子。同时也讨论不过来,详情细节请参考官方文档,同时结合实际项目引用到这些细节时学习会十分高效。总之就是在心中先形成js语言的框架结构。细节随着经验,学习而逐渐完善。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值