JavaScript笔记

1.如果要想编写js,只需要将其定义在<script></script>元素之中即可,如下代码:

<script type="text/javascript">

    //此处可以编写 JavaScript程序代码,如果有需要也可以定义多个
    alert("Hello Everyone);
</script>

2.也可以自己新建一个js文件,在需要的时候引入即可,例如文件名为hello.js,只需要在引入此js文件的地方写上<script type="text/javascript" src="hello.js"></script>即可

3.在js中用var定义变量,根据用户赋的值自动设置数据类型,var也可以省略。需要注意的是js中变量类型是可以变更的,如下代码:

<script type="text/javascript">
    msg=10;∥定义了一个mum的变量
    msg="www.mldn.cn";∥修改了变量内容
    console. log("msg="+msg);∥页面输出内容
</script>

在控制台输出结果为:www.mldn.cn

4.js中的"+"既可以实现加法运算,也可以进行字符串的连接,如下代码

<script type="text/javascript">
	numA=10
	numB= 20
	console. log(numA+ numB)
	numA="Hello"
	numB="小李老师"
	console. log(numA+ numB);
 </script>
控制台输出结果为 30
         Hello小李老师  

5.js中函数的定义格式:

function  函数名称(参数,参数,...){
    //函数代码体
    //[return[返回值]]
}

例如以下代码:

<script type="text/javascript">
	function printMessage(msg){//只接收参数不返回数据
		console. log(msg);
	}
	printMessage("www.mldn.cn");//直接进行函数的调用
</script>
控制台输出结果:www.mldn.cn
注意:在js中调用函数时也可以不按照指定的参数个数赋值,如果在这里直接使用printMessage()调用,输出结果是undefined,undefined就相当于java中的null

6.js中if判断语句结合"函数名称.arguements.length"的使用(说明:函数名称.arguements.length是用来获得该函数实际接收的参数的个数的)。

<script type="text/javascript">
	function printMessage(msg){//只接收参数不返回数据
		if (printMessage arguments length==1){
			console. log(msg)
		}else{
			console. log("对不起,现在没有任何的数据!");
		}
	printMessage("www.mldn.cn","www.jixianit.com");∥直接进行函数的调用
</script>
控制台输出结果:对不起,现在没有任何的数据!

7.如下编写一个有返回值的函数:

<script type="text/javascript">
			function add(x, y){
				if(add.arguments.length==2){
					return x+y;
				}else{
					return undefined;
				}
			}
			console.log("【addO函数调用】"+add(10));
			console.log("【addO函数调用】"+add(10,undefined));//数字与"undefined"相加,结果为NaN

               console.log("【add函数调用】"+add(10,20)); console.log("【adO函数调用】"+add("Helo"," Everyone")); </script> 控制台执行结果: 【ado函数调用】 undefined
         【addO函数调用】NaN 【add函数调用】30 【ado函数调用】 Helo Everyone

8.javascript里面也有顺序结构,分支结构(if/else语句),循环结构(for循环,while循环)和传统编程几乎相同

需要注意的是js中,如果要进行字符串相等的判断,那么直接使用“==”即可,这里面不包含相应的方法的判断操作。

9.字符串里面一般都会提供有大量的控制函数,这些函数名称在各个语言里面几乎都是类似的。

str=www.mldn.cn
console. log("【字符串转大写】"+ str.toUpperCase());
console. log("【字符串长度】"+ str.length);//注意这个length没有括号
console.log("【字符串替换】"+"'Hello World'.replace(" World," Everyone"));

10.js中字符串既可以使用单引号定义,也可以使用双引号定义 

11.数组:在js中也支持有数组的访问操作,但是在进行数组创建的时候需要利用Array这个类来完成

注意:js中的数组长度是可以改变的,

<script type="text/javascript">
    function printArray(array){    
       if(array != undefined){
            for(x=0; x< array.length; x++){
	       console.log(array[x]);
	    }
        }
    }
	data= new Array(5);//开辟5个长度的数组
	for (x=0; x< data length; x ++){
	      data(x]=x;//为数组元素赋值
	}
  data[10]=100;//当前的索引超过了原始数组的长度,数组的最大长度就是当前索引的数值,执行之后数组长度就发生改变了,那些没有赋值的索引就为undefined,赋值的就为值 printArray(data); </script>
上面是动态为数组赋值,也可以采用静态为数组赋值,将上面红色字体的代码换成以下代码:
data= new Array(10,20,30,40,50);

12.关于 JavaScript之中基于对象的理解

  虽然 JavaScript现在提供了面向对象的支持,但是其对于传统的基于对象的编程并没有发生改变,在任何一个html页面里面实际上都会提供有许多的HTML元素,例如:<body>,<button>,<img>,<a>,这些元素在 JavaScript里面都是通过对象的形式来进行操作的,利用这些元素对象可以直接进行内部的属性操作。如果要想获得这些对象,就需要为组件设置“id”属性,利用id属性再结合 document.getElementByld("ID名称")的形式来获取指定的元素对象,如果获取了一个指定元素对象之后可以利用“ addEventListener(事件类型,处理函数,处理形式)”函数来动态的进行事件的绑定处理。

13.js事件处理

强调:加载事件不需要绑定元素,单击事件和鼠标事件需要绑定元素,一般单机事件和鼠标事件写在加载事件内。

  ● 加载事件(onload):所有的页面如果要在浏览器上执行,那么一定会牵扯到程序代码的加载问题,那么现在假设需要在页面加载完成之后进行某些的处理操作,就可以利用 onload事件来进行处理。

<script type="text/javascript">
	window.onload= function(){∥与在body中编写的 onload相同
		welcome();
		msg();
	}
	function welcome(){∥定义加载事件的处理函数
		console.log("大爷,欢迎来玩,各种好玩的都有,最好玩的就是辛博娃娃,该娃娃每到周五就自己休息不接客!")
	}	
	function msg(){
		console.log("Good Luck Everyone" )
	}
</script>

程序执行结果:大爷,欢迎来玩,各种好玩的都有,最好玩的就是辛博娃娃,该娃娃每到周五就自己休息不接客!
            Good Luck Everyone    

除了上面这种写法,还有一种直接在jsp页面body标签里面写也可以:<body onload="welcome();msg()"></body> 注意:调用多个函数中间要用分号隔开
开发的时候还是使用最上面那种方式写

  ● 单击事件(onclick):

    ●写法1:  直接在body标签中引用

<head>
  <script type="text/javascript>
	function msg(){∥这是一个函数
			window.alert("www.jixianit.com);
  </script>
/head>
< button type="button" onclick="msg()">按我,显示内容</ button
</body>

    ●写法2(开发的时候用): 

<html>
<head>
<script type="text/javascript>
	window.onload= function(){  //页面加载完成后调用
		buttonObject=document.getElementByld("pushButton");
		buttonObject.addEventListener("click", msg, false);
		document.getElementByld("cleanButton").addEventListener("click",function(){//可以直接使用匿名处理函数
			textObject.value ="";
		}, false);
	}
	function msg(){
		textObject= document.getElementByld("showText");//根据id获取对象
		textObject.value ="Hello EveryOne";
	}
</script>
</head>
<body>
	<input type=text" id="showText"><br>
	<button type="button"id="pushButton">按我,显示内容< /button>
	<button type="button"id="cleanButton">清空显示内容< /button>
</body>
</html>

   ● 鼠标事件:鼠标事件主要是描述所有与鼠标有关事件处理形式,在 JavaScript里面支持的鼠标事件有如下几种:

    ● onmousedown:鼠标按下触发;

    ● onmouseup:鼠标抬起时触发

    ● onmouseout:鼠标离开时触发

    ● onmouseover:鼠标经过时触发

    ● onmousemove:鼠标移动时触发

14.js中常用的弹框:

  ● window.confirm(),确定,取消

  ● window.alert(),确定;也可以写成alert()

15.document.write("<h1>11</h1>");//在页面输出内容“11”

16.显示图层和隐藏图层:

window. onload= function(){//所有的处理事件都通过加载操作完成
	document.getElementByld("showBut").addEventListener("click", function(){
		imgDivObject= document.getElementByld("imgDiv");//获取指定的组件
		imgDivObject.style.display ="block";//显示图层
	}, false);
	document.getElementByld("hideBut").addEventListener("click", function(){
		imgDivObject= document.getElementByld("imgDiv");//获取指定的组件
		imgDivObject.style.display ="none";//隐藏图层
	}, false);
}

17.定时调用:setTimeout( showAllImage,1000);//每秒调用showAllImage函数一次

18.单选钮事件处理:单选钮使用radio,单选钮的name和id必须相同,因为单选钮的name相同,所以选定元素的时候要使用document.all("id名称")函数来完成。例如以下js代码:获取选中的性别内容

window.onload= function{//所有的处理事件都通过加载操作完成
document.getElementByld( "showBut" ).addEventListener("click", function(){
    sexObject= document.all("sex");//选择所有id为“sex”的元素
    info="";
    for(x=0; x<sexObject.length; x++){
        if(sexObject[x].checked){
            info= sexObject[x].value;//获取选中的内容
        }
        document.getElementByld("msgSpan").innerHTML="用户的性别:"+info;//innerHTML是提示信息
    }, false);    
}

19.在js中如果有id重复,这时采用document.getElementById("id名称")接收就只能接收此名称的第一个对象,因为这堆相同名称的id变成了一个数组,接收数组就要使用document.all("id名称")接收了,常用在多选框中;
20.在多选框中,一定要把name属性定义成相同。
21.click是一个单击事件,比较常用。
22.blur(失去焦点)也是一个事件。常用在输入框或文本域中。举个例子:当你输入用户名的时候,当你输完用户名立马调用js代码,就会提示你用户名合不合法,不会调用数据库。
23.如果想进行表单拦截,就需要绑定submit事件处理。具体代码如下:
document.addEventListener("submit",function(event){//event表示当前的事件对象,系统内定,不用改变,直接写event
if(判断条件){
event.preventDefault();//阻止表单提交
}
},false);
24.元素对象.className="text-success";元素对象.className="text-error"表示成功的样式(框为绿色,对应的innerHTML字体也为绿色)
或失败的样式(框为红色,对应的innerHTML字体也为红色)。

posted @ 2019-07-21 19:23  王兴龙123  阅读(266)  评论(0编辑  收藏  举报