第六次网页前端培训(JS)

一,运算符

1.比较运算符

== 比较值

1 == “1” true

===比较值与类型

1===“1” false

console.log("========");
	console.log(1=='1');
	console.log(1==='1');

 

二,数组

1数组的定义

(1).隐式定义

var 数组名 = [ ];//空数组

var 数组名 = [值1,值2,值3…… ];

	var arr1 = [];
		console.log(arr1);
		var arr2 = [1,2,'a',true];
		console.log(arr2);

 

 

(2).直接实例化

var 数组名 = new Array(值1,值2,值3……);

var arr3 = new Array(1,2,3);
		console.log(arr3);

 

 

(3).定义数组并设置长度

var 数组名 = new Array(size); 

var arr4 = new Array(5);
		console.log(arr4);

 

 2.数组的操作

数组的下标从0开始

获取数组的值:(如果下标不存在,则undefined)

数组名[下标];

设置数组的值:(如果下标不存在,则自动扩容)

数组名[下标]=值;

console.log("=========");
		/*数组的操作*/
		//获取下标的值
		console.log(arr2[1]);//2
		//如果下标不存在
		console.log(arr2[10]);//undefined
		//设置指定下标的值
		arr2[1] = 20;
		console.log(arr2);
		//如果下标不存在
		arr2[10] = 100;
		console.log(arr2

 

 

获取数组长度

数组名.length;

设置数组的长度:

数组名.length=值;

console.log(arr3.length);//3
		arr3.length = 5;
		console.log(arr3);
		

 

 3.数组的遍历

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:下标

};

console.log("=========");
		/*数组的遍历*/
		console.log(arr3);
		console.log("---for循环遍历---");
		//for循环遍历
		for(var i = 0; i < arr3.length; i++){
			console.log("下标:" + i + ",值:"+ arr3[i]);
		}
		//for……in
		console.log("---for...in----");
		for (var i in arr3){
			console.log("下标:" + i + ",值:"+arr3[i]);
		}
		//forEach
		console.log("---forEach----");
		arr3.forEach(function(element,index){
			console.log("下标:" + i + ",值:"+ element);
		})

 

 

注意:for--》不遍历属性

foreach--》不遍历属性合索引中的undefined

for  in--》不遍历索引中的undefined

 

数组提供的方法:

push:添加元素到最后

indexof:数组元素索引

join:数组转成字符串

split:字符串方法:将字符串转化成数组

/*数组提供的方法*/
		var arr5 = ["a","b","c"];
		//push 
		arr5[arr5.length] = "d";
		arr5.push("e");
		console.log(arr5);
		//indexof
		console.log(arr5.indexOf("a"));
		console.log(arr5.indexOf("t"));
		//join
		console.log(arr5.join("-"));
		//split
		var str = "1,2,3,4,5";
		console.log(str.split(","));

 

四,函数

1.函数的定义

(1)函数声明语句

function函数名([参数列表]){

}

(2)函数定义表达式

var 变量名/函数名=function([参数列表] ){

}

(3)Function构造函数

var函数名=new Function([参数列表],函数体);

<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);
		}
		

 

 2.函数的参数

定义函数时设置形参,调用函数时传递形参

(1)实参可以省略,则形参为undefinded

 

 

/*函数的参数*/
		//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);

 

 

 

 (3)可以设置参数的默认值.

 

function test03(x) {
			x = x || "x";
			console.log(x);
		}
		test03(10);
		test03();
		function test04(x) {
			(x != null && x != undefined) ? x = x : "x";
			console.log(x);
		}
		test04();
		test04("Hello");

 

 

 

 (4)参数为值传递,传递副本;参数值是引用传递,则传递的是地址,操作的是一个对象

test05(num);
		console.log(num);
		var obj = {name:"zhangsan"};
		console.log(obj);
		function test06(o) {
			o.name = "lisi";
		}
		test06(obj);
		console.log(obj);

 

五,函数的调用 

1.常用调用模式

函数名([参数列表]);

function f1() {
			console.log("函数调用模式...");
		}
		f1();

 

 

2.函数调用模式(函数有返回值)

var变量名=函数名([参数列表]);

f1();
		var f2 = function(a) {
			console.log("函数调用模式...");
			return a;
		}
		var num1 = f2(1);
		console.log(num1);

 

 

3.方法调用模式

对象 函数名([参数列表]);

var num1 = f2(1);
		console.log(num1);
		var obj = {
			name:"zhangsan",
			age:18,
			sex:true,
			cats:["大毛","二毛"],
			dog:{
				name:"张二狗",
				age:1
			},
			sayHello:function() {
				console.log("你好");
			}
		}
		console.log(obj);
		console.log(obj.dog);
		console.log(obj.sayHello);
		obj.sayHello();
		

 

4.函数返回值

return

如果方法没有返回值,使用return,返回的是undefinded

(1)在没有返回值的方法中,用来结束方法

(2)在返回值的方法中,一个是用来结束方法,一个是将值带给调用者

function a1() {
			console.log("没有返回值...");
			return;
			console.log('......');
		}
		console.log(a1());
		function a2() {
			console.log("有返回值...");
			return "test";
		}
		console.log(a2());

 

 5.函数作用域

在JS中,只有在函数中才作用域

(1)在函数中,存在局部变量和全局变量

(2)在函数中,如果声明变量时未使用var修饰,则该变量是全局变量

	var pp = "Hello";
		function qq() {
			var box = 10;
			box2 = 20;
		}
		qq();
		console.log(pp);
		//console.log(box);
		console.log(box2);
	

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值