网页前端第六次培训

一,数组

<!-- 
        数组
            数组的定义
                1.隐式定义
                    var 数组名 = []; //空数组
                    var 数组名 = [值1,值2,值3...];
                2.直接实例化
                    var 数组名 = new Array(值1,值2,值3...);
                3.定义数组并设置长度
                    var 数组名 = new Array(size);
             数组的操作
                数组的下标从0开始,不会出现下标越界
                获取数组指定下标的值 (如果下标不存在,unfinded)
                    数组名[下标];
                设置数组指定下标的值 (如果下标不存在,扩容数组 )
                    数组名[下标] = 值;
                获取数组的长度
                    数组名.length;
                设置数组的长度
                    数组名.length = 值;
                了解:
                    如果设置非整数型的下标,则会成为数组的属性,不计入数组的长度
                    设置属性:
                        数组名.属性名 = 值;
                        数组名["属性名"] = 值;
                    获取属性
                        数组名.属性名;
                        数组名["属性名"];
                        
            数组的遍历
                1.for循环遍历
                    for(var index = 0; index <数组长度; index++ ){
                        
                    }
                    相当于java中:
                    for(int index = 0; index <数组长度; index++){
                        
                    }
                2.for...in循环
                    for(var下标名 in 数组){
                        
                    }
                3.forEach循环
                    数组.forEach(function(element,index){
                        //element:元素
                        //index:下标
                    });
                    
                注:
                    for --》 不遍历属性
                    forEach --》 不遍历属性和索引中的undefined
                    for in --》 不遍历索引中的undefinded
                    
                数组提供的方法:
                    *push        添加元素到最后
                    unshift     添加元素到最前
                    pop         删除最后一项
                    shift       删除第一项
                    reverse     数组反转
                    *join        数组转换为字符串
                    *index0f     数组元素索引
                    slice       截取(切片)数组,原数组不发生变化
                    *splice      剪切数组,原数组变化,可以实现前后删除效果
                    concat      数组合并
                    
     -->

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>数组</title>
	</head>
	<body>	
	 <script type="text/javascript">
	 	/* 数组的定义 */
		//1.隐式定义
		var arr1=[];
		console.log(arr1);
		var arr2=[1,2,'a',true];
		console.log(arr2);
		
		//2.直接实例化
		var arr3=new Array(1,2,3);
		console.log(arr3);
		
		//3.定义数组并设置长度
		var arr4=new Array(5);
		console.log(arr4);
		
		console.log("===================");
		/* 数组的操作 */
		//获取数组指定下标的值
		console.log(arr2[1]); // 2
		//如果下标不存在
		console.log(arr2[10]); // undefinded
		//设置指定的下标
		arr2[1] = 20;
		console.log(arr2);
		//如果下标不存在
		arr2[10] = 100;
		console.log(arr2);
		//获取数组的长度
		console.log(arr3, length);
		//设置数组的长度
		arr3.length = 5;
		console.log(arr3);
		//设置数组的属性
		arr3.name = "zhangsan"
		
		console.log("===================");
		/* 数组的遍历 */
		
		console.log("---for循环遍历---");
		for(var i=0; i< arr3.length; i++){
			console.log("下标:" + i + "值" + arr3[i]);
		}
		
		console.log("---for..in循环遍历---");
		for(var i in arr3){
			console.log("下标:" + i + "值" + arr3[i]);
		}
		
		console.log("---forEach循环遍历---");
		arr3.forEach(function(element, index){
			console.log("下标:" + i + "值" + element);
		})
		
		console.log("===================");
		/* 数组提供的方法 */
		var arr5 = ["a","b","c"];
		//push        添加元素到最后
		arr5[arr5.length] = "d";
		arr5.push("e");
		console.log(arr5);	
		
		//join        数组转换为字符串
		console.log(arr5.join("."));
		
		//index0f     数组元素索引
		console.log(arr5.indexOf("a"));//0
		console.log(arr5.indexOf("t"));//-1
		
		//splice      剪切数组,原数组变化,可以实现前后删除效果
		var str = "1,2,3,4,5";
		console.log(str.split(","));
		
	 </script>
	</body>
</html>

二,函数

<!-- 
        函数的定义
            1.函数声明语句
                function 函数名([参数列表]){
                    
                }
            2.函数定义表达式
                var 变量名/函数名 = function([参数列表]){
                    
                }
            3.Function构造函数
                var 函数名 = new Function([参数列表], 函数体);
        
        函数的参数
            定义函数时设置形参,调用函数时传递实参
            1.实参可以省略,则形参为undefinded
            2.如果形参名相同,则以最后一个参数为准
            3.可以设置参数的默认值
            4.参数为值传递,传递副本;参数是引用传递,则传递的是地址,操作的是同一个对象
            
        函数的调用
            1.常用调用方式
                函数名([参数列表]);
            2.函数调用方式
                var 变量名 = 函数名([参数列表]);
            3.方法调用方式
                对象.函数名([参数列表]);
        
        函数的返回值
            return
                1.在没有返回值的方法中,用来结束方法(如果方法没有返回值,返回undefined)
                2.有返回值的方法中,一个是用来结束方法,一个是将值带给调用值
                
        函数的作用域
            在JS中,只有在函数中才作用域
            1.在函数中,存在局部变量和全局变量
            2.在函数中,如果声明变量时未使用var修饰时=符,则该变量是全局变量
     -->

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>函数</title>
	</head>
	<body>
	 <script type="text/javascript">
	 	/* 函数的定义 */
		//1.函数声明语句
		function fn01(a, b) {
			console.log(a+b);
		}
		console.log(fn01);
		//2.函数定义表达式
		var fn02 = function(a, b) {
			console.log(a+b);
		}
		console.log(fn02);
		//3.Function构造函数
		var fn03 = new Function('a','b', 'return (a+b);');
		console.log(fn03);
		//相当于
		function fn04(a,b) {
			return (a+b);
		}
		fn02(1,2);//3
		
		console.log("===================");
		/* 函数的参数 */
		//1.实参可以省略,则形参为undefinded
		function test01(x, y) {
			console.log(x+y);
		}
		//调用函数
		//未设置函数
		test01(); //NaN
		test01(1); //NaN
		test01(1,2); //3
		
		//2.如果形参名相同,则以最后一个参数为准
		function test02(x, x) {
			console.log(x);
		}
		test02(1, 2);// 2
		
		//3.可以设置参数的默认值
		function text03(x){
			//如果形参x有值,则值为x传递的值,否则值为"x"
			x = x ||"x";
			console.log(x);
		}
		text03(10); // 10
		text03(); //x
		function text04(x) {
			(x != null && x !=undefined) ? x = x : x = "x";
			console.log(x)
		}
		text04();
		text04("Hello");
		
		//4.参数为值传递,传递副本;参数是引用传递,则传递的是地址,操作的是同一个对象
		//变量
		var num = 10;
		//函数
		function text05(num) {
			num = 20;
		}
		//调用函数
		text05(num); //实参是定义的变量
		console.log(num);
		
		var obj = {name:"zhangsan"};
		console.log(obj);
		function text06(o) {
			o.name = "lisi"
		}
		text06(obj);
		console.log(obj);
		
		console.log("===================");
		/* 函数的调用 */
		// 常用调用方式
		function f1() {
			console.log("常用调用方式...");
		}
		f1();
		//函数调用方式
		var f2 = function(a) {
			console.log("函数调用方式...");
			return a;
		}
		var num1 = f2(1);
		console.log(num1);
		//方法调用方式
		//定义对象  key键:字符串 value:
		var obj = {
			name:"zhangsan", //字符串
			age:10, //数值
			sex:true, //布尔
			cats:["大猫","二猫"], //数组
			dog:{ //对象
				name:"张二狗",
				age:1
			},
			sayHello:function() { //函数
				console.log("你好啊~");
			}
		}
		console.log(obj);
		console.log(obj.sayHello()); //对象调用函数,无返回值
		obj.sayHello(); 
		
		console.log("===================");
		/* 函数的返回值 */
		function a1(){
			console.log("没有返回值....");
			return;
			console.log("...........");
		}
		console.log(a1());
		
		function a2(){
			console.log("有返回值....");
			return "test";
		}
		console.log(a2());
		
		
		console.log("===================");
		/* 函数的作用域  */
		var pp = "hello"; //全局变量
		//函数中定义的变量是局部变量
		function qq(){
			//局部变量 
			var box = 10;
			//全局变量(没有使用var修饰符声明,属于全局变量)
			box2 = 20;
		}
		//调用方法,执行方法中的代码
		qq();
		console.log(qq());//全局变量
		//console.log(box); //局部变量
		console.log(box2);
		
	 </script>
	</body>
</html>

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值