初学笔记

第一次接触JavaScript语言,首先学习了一些简单的内容,对其语言结构有一些大致了解。

JavaScipt在HTML编辑器中要写在<script></script>之间。JavaScipt作为一种脚本语言可以放在HTML中任何位置,但浏览器编译时是按先后顺序执行的。

1、定义变量,使用关键字"var"(var为变量名)

命名规则:必须使用字母、下划线_或者美元符$开始,不能用数字开头;

可以使用任意多个字母、数字、下划线或美元符组成;

不可使用JavaScript关键字或保留字;

变量命名有意义,例:oBox(驼峰命名法);

变量名严格区分大小写。

2、函数(完成某一特定功能的一组语句)

基本语法:function(函数名){

函数代码;

 }

注:函数定义好之后不能直接运行,调用函数直接写函数名运行.

3、输出内容(document.write)

输出内容用“”括起,直接输出“”内的内容;

通过变量输出内容,例:var mystr="hello"

document.write(mystr);

输出多项内容,字符串与变量之间用+连接;

4、弹出警告(alert()消息对话框)

包含一个“确定按钮”;

在点击对话框“确定”按钮之前,不能进行任何操作;

消息对话框通常可以用于调试程序;

alert()输出内容可以是字符串或者变量。

5、通过ID获取元素

语法:document.getElementById("id");

获取的元素是一个对象,若要对元素进行操作,要通过他的属性或方法。

6、inner.HTML属性

用于获取或替换HTML元素的内容

7、通过JS改变HTML样式

语法:object.style.propery=new style;(object是获取的元素对象)

8、显示和隐藏(display)属性

语法:object.style.display="value"(value值为none或block)

9、控制类名(className属性)

语法:object.className="className"

10、点击事件

语法:object.οnclick=function(){

......

}

11、console.log()---调试,输出到控制台上

12、object.οnlοad=function(){

JS代码//当文档加载完成后执行大括号里的代码

}

13、object.charAt(0)---第0位置上的字符

object.charCodeAt(0)---字符转化为字符编码

String.fromCharCode(20)---将编码为20的字符转化为汉子字符

object.indexOf("")---某个字符在该字符串中的位置(默认从左往右找找)

object.lastIndexOf("")---某个字符在该字符串中的位置(默认从右往左找找)

object.indexOf("你",8)---从第8位开始找“你”

14、字符串进行比较,比较的是第一个字的字符编码大小

15、object.substring(7)代表截取7个字符;

object.substring(7,2)代表从第7个字符开始截取到第2个字符(若第一个参数位负数则从第0位开始,若第二个参数为负数则自动转换量参数的位置,从第0位开始)

object.slice(6)代表从第六位开始截取(若有两个参数,代表从第几位截取到第几位;若为负数则代表从后往前截取几位)

16、object.toUpperCase()转换为大写;object.toLowerCase()转换为小写。

17、object.split(".")代表以“.”为分割符将字符串分割为若干个数组;若未指定以哪个分割符来分割,则将原始字符串中的每一项都切割成数组项;若有两个参数如("-",5)“5”表示分割后保留几个数组成员。

18、数组

一、创建数组

构造函数法:var arr1=new Array();

字面量法: var arr=[];

二、基本语句

objrct1.contact(object2);---拼接字符串;

object.jion("#");---用“#”将数组项拼接成字符串;

object.reverse();---翻转数组;

object.unshift();---从数组的开头插入元素,返回数组长度;

object.pop();---删除最后一个数组元素;

object.shift();---删除第一个元素;

str.push(arr);---在数组后面添加“1”;

str.sort();---比较两两的值;

以上是学习的一些基本语句;


为了加深理解和运用,做了一些简单的数组排序和小实例:

1、简单排序&冒泡排序

<!DOCTYPE html>
<html>

	<head>
		<meta charset="UTF-8">
		<title>简单排序,冒泡排序</title>
	</head>

	<body>

		<script type="text/javascript">
			//1.简单的排序
//			function compare(value1, value2) {
//				//定义比较方法
//				return value1 > value2 ? 1 : -1;
//			}
//			var arr = ['34', '45', '23', '56', '88', '21', '16', '55'];
//			alert(arr.sort(compare).toString());
			//输出结果:16,21,23,34,45,55,56,88
			
			

			//2.冒泡排序:思路:依次比较相邻的两个数,将小数放在前面,大数放在后面。即在第一趟:首先比较第1个和第2个数,将小数放前,大数放后。然后比较第2个数和第3个数,将小数放前,大数放后,如此继续,直至比较最后两个数,将小数放前,大数放后。 至此第一趟结束,将最大的数放到了最后。在第二趟:仍从第一对数开始比较(因为可能由于第2个数和第3个数的交换,使得第1个数不再小于第2个数),将小数放前,大数放后,一直比较到倒数第二个数(倒数第一的位置上已经是最大的),第二趟结束,在倒数第二的位置上得到一个新的最大数(其实在整个数列中是第二大的数)。如此下去,重复以上过程,直至最终完成排序。
			var arr = [12, 5, 3, 8, 0, 15, 6, 5, 9, 4, 27];
			var len = arr.length;

			function bubbleSort(arr) {
				var tmp = 0;
				for(var i = 0; i < len; i++) {
					for(var j = 0; j < len - i; j++) {
						if(arr[j] > arr[j + 1]) {
							tmp = arr[j];
							arr[j] = arr[j + 1];//交换
							arr[j + 1] = tmp;
						}
					}
				}
				return arr;
			}

			alert(bubbleSort(arr));
			
			

		
		</script>
	</body>

</html>
2、九九乘法表
<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<style>
			table{width: 1000px;height: 500px;}
			td{
				text-align: center;width: 100px;height: 50px;border: 1px #000 solid;
			}
		</style>
	</head>
	<body>
		<script>
			document.write("<table cellpadding='0' cellspacing='0'>");
		    for(i=1;i<=9;i++){
               document.write("<tr>");
               for(j=1;j<=i;j++){
               	document.write("<td>");
               	document.write(i+"*"+j+"="+i*j)
               }
               document.write("</td>");
			}
			document.write("</tr>");
			document.write("</table>");
			
			
		</script>
	</body>
</html>

3、大段文字的收缩伸展功能

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<style>
			div{
				width: 500px;height: 490px;border: 3px orange solid;margin: 0 auto;padding: 20px;
			}
			div p{
				font: "微软雅黑";font-size: 20px;line-height: 26px;
			}
		</style>
	</head>
	<body>
		<div id="box">
		<p id="p">教养是带有某种天生的素质和一点一滴的积累。人生那么长,未知的东西那么多。人与人之间的关系往往是相互的,与人为善,也是与自己为善。让自己更平和一点,更豁达一点,对于身边的过错,让自己更宽容一点。人人都有他的难处,何必强求于人。人生在世,行路匆匆,生活充满变数,时而乐极生悲,时而苦尽甘来,一切不必较真,只须笃定前行。要敢于认错,既然错了,就要纠正,虚假是味毒药,真实能帮你把失去的赢回来;要敢于担当,回避不是办法。人出生时,是一块质朴的石块,有棱有角,生气勃勃。但是,在生活无情的打磨中,人生慢慢被磨去棱角,变得圆滑而世故。
	    </p>
	    <center>
	    	<button id="btn">收缩</button>
	    </center>
	    </div>
	    <script>
	    	window.οnlοad=function(){
	    	//var oBox=document.getElementById(box);
	    	var oP=document.getElementById("p");
	    	var value=oP.innerHTML;
	    	var oBtn=document.getElementById("btn");
	    	var kaiguan=true;
	    	oBtn.οnclick=function(){
	    		if(kaiguan){
	    			oP.innerHTML=value.substring(0,36);
	    			oBtn.innerHTML="展开";
	    		}else{
	    				oP.innerHTML=value;
	    				oBtn.innerHTML="收缩";
	    			}
	    			kaiguan=!kaiguan;
	    	}
	    	}
	    </script>
	</body>
</html>
4、类似Word的文字查询与替换功能

<!DOCTYPE html>
<html>

	<head>
		<meta charset="UTF-8">
		<title></title>
		<style>
			.active {
				background: orange;
				color: #fff;
			}
			
			#box {
				width: 490px;
				height: 600px;
				border: 10px #000 solid;
				margin: 0 auto;
			}
			
			#box1 {
				width: 450px;
				height: 460px;
				background-color: #CCCCCC;
				padding: 20px;
			}
			
			#box2 {
				width: 450px;
				height: 60px;
				padding: 20px;
			}
			
			a {
				display: block;
				width: 100px;
				height: 40px;
				float: left;
				text-align: center;
				font-size: 28px;
				line-height: 40px;
				text-decoration: none;
			}
			
			p {
				clear: both;
			}
			
			#p2 {
				display: none;
			}
			
			#p1 input[type=text] {
				width: 100px;
				margin-top: 5px;
			}
			
			#p2 input[type=text] {
				width: 100px;
				margin-top: 5px;
			}
			
			#p2 input[type=text]:first-child {
				margin-right: 5px;
			}
			
			#span {
				font: "微软雅黑";
				font-size: 20px;
				line-height: 25px;
			}
		</style>
	</head>

	<body>
		<div id="box">
			<div id="box1">
				<span id="span">
				教养和文化是两回事,有的人很有文化,但是很没教养,有的人没有什么太高的学历和学识,但仍然很有教养,很有分寸。教养是带有某种天生的素质和一点一滴的积累。人生那么长,未知的东西那么多。人与人之间的关系往往是相互的,与人为善,也是与自己为善。让自己更平和一点,更豁达一点,对于身边的过错,让自己更宽容一点。人人都有他的难处,何必强求于人。人生在世,行路匆匆,生活充满变数,时而乐极生悲,时而苦尽甘来,一切不必较真,只须笃定前行。要敢于认错,既然错了,就要纠正,虚假是味毒药,真实能帮你把失去的赢回来;要敢于担当,回避不是办法。人出生时,是一块质朴的石块,有棱有角,生气勃勃。但是,在生活无情的打磨中,人生慢慢被磨去棱角,变得圆滑而世故。要做坚守在悬崖峭壁上石块,勇敢忍受风霜的雕刻,永远保留自己的棱角。不要做河流里的石头,享受微波多情的抚摸,最后变成一块光亮的鹅卵石。
		</span>

			</div>
			<div id="box2">
				<a class="active" id="b1">
					查找
				</a>
				<a id="b2">
					替换
				</a>

				<br/>
				<p id="p1"><input id="input1" type="text"><input id="btn1" type="button" value="查找"></p>
				<p id="p2"><input id="input2" type="text"><input id="input3" type="text"><input id="btn2" type="button" value="替换"></p>
			</div>
		</div>
		<script>
			var oBox = document.getElementsByTagName("a");
			var oP1 = document.getElementById("p1");
			var oP2 = document.getElementById("p2");

			oBox[0].onclick = function() {
				for(i = 0; i < oBox.length; i++) {
					oBox[i].className = "abc";
				}
				this.className = "active";
				oP1.style.display = "block";
				oP2.style.display = "none";
			}
			oBox[1].onclick = function() {
				for(i = 0; i < oBox.length; i++) {
					oBox[i].className = "abc";
				}
				this.className = "active";
				oP2.style.display = "block";
				oP1.style.display = "none";
			}
			var ospan = document.getElementById("span");
			var oText=ospan.innerHTML;
			var oInput1 = document.getElementById("input1");
			var oInput2 = document.getElementById("input2");
			var oInput3 = document.getElementById("input3");
			var obtn1 = document.getElementById("btn1");
			
            var obtn2 = document.getElementById("btn2");
			obtn1.onclick = function() {
				if(oInput1.value == "") {
					alert("请输入文字")
				} 
				var str = oInput1.value;


				if(oText.indexOf(str) != -1) {
					//alert(1)
					var arr = oText.split(str);
					
					ospan.innerHTML = arr.join('<span style="background:yellow">' + str + '</span>')
				} else {
					alert("未查找到输入的内容!");
				}
				
				
				
			}
			obtn2.onclick = function() {
				if(oInput2.value == "") {
					alert("请输入文字")
				} 
				var str = oInput2.value;


				if(oText.indexOf(str) != -1) {
					//alert(1)
					var arr = oText.split(oInput2.value);
					
					ospan.innerHTML = arr.join(oInput3.value)
				} else {
					alert("未查找到被替换文字!");
				}
				
				
				
			}
		</script>
	</body>

</html>







评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值