淘先锋技术网

首页 1 2 3 4 5 6 7

1、JavaScript的创建

(1)行内式

<body>
	<input type="button" value="按钮" onclick="alert('你触发引爆按钮')">
</body>

(2)内嵌式:在<head>标签内加入<script>标签,在<script>标签中编写JavaScript代码。

head>
	<script language="javascript">
		function myfuntion(){
			alert('你触发引爆按钮');
		}
	</script>
</head>

<body>
		<button id="btn" onClick="myfuntion()">按钮</button>
</body>

(3)外链式:将JavaScript代码写在一个单独的.js文件中,在<head>标签中使用<script>标签直接引入该文件到页面中。

<head>
	<script type="text/javascript" src="js/index.js"></script>
</head>

2、变量和数据类型

(1)定义变量(一种弱类型语言,也就是说不需要指定变量的类型):JavaScript的变量类型由它的值来决定, 定义变量需要用关键字 ‘var’, 一条JavaScript语句应该以“;”结尾
(2)变量命名规范:

  • 区分大小写
  • 第一个字符必须是字母、下划线(_)或者美元符号($)
  • 其他字符可以是字母、下划线、美元符或数字

(3) js中有六种数据类型,包括五种基本数据类型和一种复杂数据类型(object)。
1) 5种基本数据类型:

  • 1、number 数字类型
  • 2、string 字符串类型
  • 3、boolean 布尔类型 true 或 false
  • 4、undefined 未初始化类型,变量声明未初始化,它的值就是undefined
  • 5、null类型,表示空对象,如果定义的变量将来准备保存对象,可以将变量初始化为null,在页面上获取不到对象,返回的值就是null

2) 1种复合类型:

  • object 后面学习的数组、函数和JavaScript对象都属于复合类型

(4)匈牙利命名风格:

  • 对象o Object 比如:oDiv
  • 数组a Array 比如:aItems
  • 字符串s String 比如:sUserName
  • 整数i Integer 比如:iItemCount
  • 布尔值b Boolean 比如:bIsComplete
  • 浮点数f Float 比如:fPrice
  • 函数fn Function 比如:fnHandler
<!doctype html>
<html>
<head>
	<meta charset="utf-8">
	<title>JavaScript</title>
	<script language="javascript">
			//1 数字 number;同时定义多个变量
			var iOne = 1,fTwo = 2.2;

			//2 字符串 string
			var sStr = '1234';

			//3 布尔 boolean; 
			var bIsTrue = false;

			//4 未定义 undefined
			var unData;

			//5 null 表示空对象
			var nullData = null;

			//6 object 表示对象类型
			var oObj = {
			   name:"陈弟弟",
			   age:21
			}
			// 获取变量的类型
			alert(typeof(oObj));
			// 获取对象的name属性
			alert((oObj.name)+(oObj.age));
	</script>
</head>

<body>	
</body>
</html>

3、函数的定义和调用

(1)函数的定义:关键字 function 定义函数

<script type="text/javascript">
    // 函数定义
    function fnAlert(){
        alert('hello!');
    }
</script>

(2)函数的调用:函数调用就是函数名加小括号,比如:函数名(参数[参数可选])

<script type="text/javascript">
    // 函数定义
    function fnAlert(){
        alert('hello!');
    }
    // 函数调用
    fnAlert();
</script>

(3)定义有参数有返回值的函数

定义函数时,函数如果有参数,参数放到小括号里面,函数如果有返回值,返回值通过 return 关键字来返回

<script type="text/javascript">
function fnAdd(iNum01,iNum02){
    var iRs = iNum01 + iNum02;
    return iRs;
    alert('here!');
}

var iCount = fnAdd(3,4);
alert(iCount);  //弹出7
</script>

函数中return关键字的作用:
1、返回函数中的值
2、执行完return函数执行结束

4、变量的作用域

局部变量:在函数内使用的变量,只能在函数内部使用。
全局变量:函数外定义的变量,可以在不同函数内使用。

5、条件语句

(1)条件语句语法:

  • if 语句 - 只有当指定条件为 true 时,使用该语句来执行代码
  • if…else 语句 - 当条件为 true 时执行代码,当条件为 false 时执行其他代码
  • if…else if…else 语句 - 使用该语句来判断多条件,执行条件成立的语句
    多条件判断还可以使用:
 switch(){
    	case 条件1:
    			执行语句
    	case 条件1:
    			执行语句
    	……
    }

案例:

<!doctype html>
<html>
<head>
	<meta charset="utf-8">
	<title>告警消息框的应用</title>
	<script language="javascript">
		function myfuntion(){
			var a=25;
			var b=10;
			var c=prompt("请输入需要进行的运算,输如”+“、”-“、”*“、”/“、”%“");
			switch(c){
					case"+":	alert("a+b="+(a+b));break;
					case"-":	alert("a-b="+(a-b));break;
					case"*":	alert("a*b="+(a*b));break;
					case"/":	alert("a/b="+(a/b));break;
					case"%":	alert("a%b="+(a%b));break;
			}
		}
	</script>
</head>
<body>
	<text>2510的各种运算</text><br>
	<button id="btn" onClick="myfuntion()">计算</button>
</body>
</html>

(2)比较运算符:
假如 x = 5, 查看比较后的结果:
在这里插入图片描述
(3)逻辑运算符
在这里插入图片描述

6、获取标签元素:document.getElementById(‘id名称’)

可以使用内置对象 document 上的 getElementById 方法来获取页面上设置了id属性的标签元素,获取到的是一个html对象,然后将它赋值给一个变量,比如:

例:

<script type="text/javascript">
    var oDiv = document.getElementById('div1');
    alert(oDiv);
</script>
<div id="div1">这是一个div元素</div>

说明:上面的代码,如果把javascript写在元素的上面,就会出错,因为页面上从上往下加载执行的,javascript去页面上获取元素div1的时候,元素div1还没有加载。

解决方法1:将javascript放到页面最下边

 <div id="div1">这是一个div元素</div>

<script type="text/javascript">
   var oDiv = document.getElementById('div1');
   alert(oDiv); 
 </script>

解决方法2:设置页面加载完成执行的函数,在执行函数里面获取标签元素。

说明: onload是页面所有元素加载完成的事件,给onload设置函数时,当事件触发就会执行设置的函数。

<script type="text/javascript">
    window.onload = function(){
        var oDiv = document.getElementById('div1');
    } </script>

<div id="div1">这是一个div元素</div>

7、操作标签元素(属性的读取和设置)

(1)属性的操作: 首先获取的页面标签元素,然后就可以对页面标签元素的属性进行操作,属性的操作包括:

var 变量名 = 标签对象.属性名 -> 读取属性
标签对象.属性名 = 新属性值 -> 设置属性

(2)属性名在js中的写法

  • html的属性和js里面属性大多数写法一样,但是“class” 属性写成 “className”
  • “style” 属性里面的属性,有横杠的改成驼峰式,比如:“font-size”,改成”style.fontSize”
<style>
.sty01{
    font-size:32px;
    background:#FA090D;
}
</style>

<script type="text/javascript">
window.onload = function(){
	// 通过id获取标签对象
    var oBtn = document.getElementById('input1');
	// 读取标签属性
	alert(oBtn.type);
    // 设置标签属性,name="username"
	oBtn.name = "username";
	// 设置标签样式属性,class="sty01"
	oBtn.className = "sty01";

    // 通过类选择器给标签添加样式
    //oBtn.style.fontSize = "32px";
	//oBtn.style.background = "#FA090D";
};
</script>

<input type="button" id="input1" value="引爆按钮"

在这里插入图片描述
在这里插入图片描述
(3)读取或者设置标签包裹的内容:innerHTML

<script type="text/javascript">
    window.onload = function(){
        var oDiv = document.getElementById('div1');
        //读取
        var sTxt = oDiv.innerHTML;
        alert(sTxt);
        //写入
        oDiv.innerHTML = '<a href="http://www.itcast.cn" target="_blank" rel="external nofollow" >传智播客<a/>';
    }
</script>


<div id="div1">这是一个div元素</div>

在这里插入图片描述
在这里插入图片描述

小结: 第一步:获取标签元素:
var 标签对象 = document.getElementById('id名称');
第二步:操作标签元素:
(1)读取标签属性:标签对象.属性
(2)设置标签属性:标签对象.属性 = "属性值"
(3)读取标签包裹的内容: 标签对象.innerHTML
(4)设置标签包裹的内容:标签对象.innerHTML ="包裹的内容"

8、数组及其操作方法

(1)数组的定义

// 实例化对象方式创建
var aList = new Array(1,2,3);
// 字面量方式创建,推荐使用
var aList2 = [1,2,3,'asd'];

(2)多维数组:多维数组指的是数组的成员也是数组, 把这样的数组叫做多维数组。

(3)数组的操作

1)获取数组的长度: 数组名.length

var aList = [1,2,3,4];
alert(aList.length); // 弹出4

2)根据下标取值: 数组名[要取的值的下标值]

var aList = [1,2,3,4];
alert(aList[0]); // 弹出1

3)从数组最后添加和删除数据
数组最后添加数据:数组名.push(要添加在数组最后的值)
数组最后删除数据:数组名.pop()

var aList = [1,2,3,4];
aList.push(5);
alert(aList); //弹出1,2,3,4,5
aList.pop();
alert(aList); // 弹出1,2,3,4

4)根据下标添加和删除元素

arr.splice(start,num,element1,.....,elementN)
arr.splice(开始删除/添加的位置,删除的个数,添加的数据1,.....,添加的数据N)

参数解析:

start:必需,开始删除的索引。
num:可选,删除数组元素的个数。
elementN:可选,在start索引位置要插入的新元素。

此方法会删除从start索引开始的num个元素,并将elementN参数插入到start索引位置。

var colors = ["red", "green", "blue"];
colors.splice(0,1);  //删除第一项
alert(colors);  //green,blue

colors.splice(1, 0, "yellow", "orange");  //从第一个索引位置插入两项数据
alert(colors);  //green,yellow,organge,blue

colors.splice(1, 1, "red", "purple");  //删除一项,插入两项数据
alert(colors);  //green,red,purple,orange,blue

9、循环语句

(1)for循环
for(循环开始的条件;循环结束的条件;循环后作出的动作)

var array = [1, 4, 5];

for(var index = 0; index < array.length; index++){
    result = array[index];
    alert(result);
}

(2)while循环:当条件成立的时候, while语句会循环执行
while(循环条件)

var array = [1, 4, 5];        
var index = 0;

while (index < array.length) {
    result = array[index];
    alert(result);
    index++;
}

(3)do-while循环:当条件不成立的时候do语句也会执行一次
do{执行}while(循环条件)

var array = [1, 4, 5];
var index = 0;

do {
    result = array[index];
    alert(result);
    index++;
} while (index < array.length);

10、字符串拼接:"+" 运算符

var iNum1 = 10;
var fNum2 = 11.1;
var sStr = 'abc';

result = iNum1 + fNum2;
alert(result); // 弹出21.1

result = fNum2 + sStr;
alert(result); // 弹出11.1abc

11、定时器:在一段特定的时间后执行某段程序代码

(1)创建定时器
1)以指定的时间间隔(以毫秒计)调用一次函数的定时

setTimeout(func[, delay, param1, param2, ...])
第一个参数 func , 表示定时器要执行的函数名
第二个参数 delay, 表示时间间隔,默认是0,单位是毫秒
第三个参数 param1, 表示定时器执行函数的第一个参数,一次类推传入多个执行函数对应的参数。

<script> 
    function hello(){ 
        alert('hello'); 
    } 

    // 执行一次函数的定时器
    setTimeout(hello, 500);
</script>

2)以指定的时间间隔(以毫秒计)重复调用一个函数的定时器

setInterval(func[, delay, param1, param2, ...])
第一个参数 func , 表示定时器要执行的函数名
第二个参数 delay, 表示时间间隔,默认是0,单位是毫秒
第三个参数 param1, 表示定时器执行函数的第一个参数,一次类推传入多个执行函数对应的参数。

<script> 
    function hello(){ 
        alert('hello'); 
    } 
    // 重复执行函数的定时器
    setInterval(hello, 1000);
</script>

(2)清除定时器
1)清除只执行一次的定时器(setTimeout函数)
clearTimeout(timeoutID)

参数说明:timeoutID 为调用 setTimeout 函数时所获得的返回值,使用该返回标识符作为参数,可以取消该 setTimeout
所设定的定时执行操作。

<script>
    function hello(){
        alert('hello');
        // 清除只执行一次的定时器
        clearTimeout(t1)
    }
    // 执行一次函数的定时器
    t1 = setTimeout(hello, 500);
</script>

2)清除反复执行的定时器(setInterval函数)
clearInterval(timeoutID)

参数说明:timeoutID 为调用 setInterval 函数时所获得的返回值,使用该返回标识符作为参数,可以取消该
setInterval 所设定的定时执行操作。

<script> 
    function hello(){ 
        alert('hello'); 
    } 
    // 重复执行函数的定时器
    var t1 = setInterval(hello, 3000);

    function stop(){
        // 清除反复执行的定时器
        clearInterval(t1); 
    }  

</script> 

<input type="button" value="停止" onclick="stop();">