重温javascript 基础【六】

136 阅读3分钟
	//========数组对象
	//========添加删除数组元素方法 /push()后面添加/unshift()前面添加/pop()删除最后/shift()删除第一个
	//1 push() 后面追加
	// var arr = [1,2,3]
	// arr.push(4)
	// console.log(arr); //1,2,3,4
	// //2 unshift() 前面追加
	// arr.unshift(6)
	// console.log(arr) //6,1,2,3,4
	
	// //3 pop() 删除最后一个
	// arr.pop()
	// console.log(arr)
	// //4 shift()删除第一个
	// arr.shift()
	// console.log(arr);
	//案例
	// var arr = [1,4,5,6,7,8,3]
	// var newArr=[]
	// for(var i =0;i<arr.length;i++){
	// 	if(arr[i]<6){
	// 		newArr.push(arr[i])
	// 	}
	// }
	// console.log(newArr);
	//===========数组排序
	//1翻转数组
	// var arr=[1,2,3,4]
	// arr.reverse()
	// console.log(arr);
	
	// //2数组排序
	// var arr1=[1,6,61,3,8,5,7,4]
	// arr1.sort(function(a,b){
	// 	// return a-b    //升序
	// 	return b-a       //降序
	// })
	// console.log(arr1);
	
	//=======数组索引方法   indexOf()返回对应数组元素的索引号  
	// var arr = [1,2,3,4,5,6,7,8,7,9]
	// console.log(arr.indexOf(7)); //6
	//=====================================================
	//案例 数组去重
	//1
	//1
	// var arr = [1,2,2,3,5,4,5,6,6,6,7,8,9,9]
	// var newArr=[]
	// for(var i=0;i<arr.length;i++){
	// 	if(newArr.indexOf(arr[i])===-1){
	// 		newArr.push(arr[i])
	// 	}
	// }
	// console.log(newArr);
	
	
	// //2
	// function unique(arr){
	// 	var newArr=[]
	// 	for(var i=0;i<arr.length;i++){
	// 		if(newArr.indexOf(arr[i])===-1){
	// 			newArr.push(arr[i])
	// 		}
	// 	}
	// 	return newArr
	// }
	// var demo = unique([1,2,2,3,5,4,5,6,6,6,7,8,9,9])
	// console.log(demo);
	//===========================================================
	//====数组转换为字符串=======
	//1.toString() 将我们的数组转换为字符串
	// var arr = [1,2,3]
	// console.log(arr.toString());  //1,2,3  //默认,
	// //2.join(分隔符)
	// var arr1 = ['green','blue','pink']
	// console.log(arr1.join('&'));  //green&blue&pink
	
	// //字符串对象
	// //基本包装类型
	// var str = 'andy'
	// console.log(str.length); //简单数据类型为什么会有length属性?基本包装类型 把简单数据类型包装成了复杂数据类型
	// //字符串不可变
	// //因为字符串不可变 所以不要大量拼接字符串 占用内存资源
	
	//案例 查找字符串
	// var str = 'abcwurofsowqeroq'
	// var index = str.indexOf('o')
	// var num =0
	// while(index!==-1){
	// 	console.log(index);
	// 	num++
	// 	index=str.indexOf('o',index+1)
	// }
	// console.log('o出现了:'+num+'次');
	
	//根据位置返回字符 
	//1,charAt()
	// var str = 'andy'
	// console.log(str.charAt(3));
	// for(var i=0;i<str.length;i++){
	// 	console.log(str.charAt(i));
	// }
	// //2,charCodeAt()
	// console.log(str.charCodeAt(0)); //97
	// //3,str[]  //H5新增的
	// console.log(str[0]);  //a
	//===============================================
	//案例 判断字符串里出现最多的字符 并统计字数
	// var str = 'abcwurofsowqeroq'
	// var o ={}
	// for(var i=0;i<str.length;i++){
	// 	var chars =str.charAt(i)
	// 	if(o[chars]){
	// 		o[chars]++
	// 	}else{
	// 		o[chars]=1
	// 	}
	// }
	// console.log(o);
	// var max=0
	// var ch =''
	// for(var k in o){
	// 	if(o[k]>max){
	// 		max=o[k]
	// 		ch =k
	// 	}
	// }
	// console.log(max);
	// console.log('最多的字符是'+ch);
	//=========================================
	//字符串操作方法
	//substr(起始位置NUM,截取几个字符NUM)
	// var str = '我喜欢陈春'
	// console.log(str.substr(1,4));
	//替换字符串方法 
	//replace('被替换的字符','替换为的字符')
	// var str = 'abcdefg'
	// console.log(str.replace('b','d'));
	//字符串转换为数组 split(',')
	// var str = 'a,b,c,d,e,f,g'
	// console.log(str.split(','));
	
	//====================================
	1.简单类型与复杂类型
	简单类型又叫基本数据类型或则值类型,复杂类型又叫引用类型.
	*值类型:在存储变量中储存时值本身,因此叫做值类型 string,number,Boolean,undefined,null
	*引用类型:在储存变量中储存仅仅时地址,因此叫做引用数据类型,通过new关键字创建对象,如Object,Array,Date等,
	2.队和栈  javascript里面没有堆和栈的概率,通过这个方式更容易理解
	简单数据类型存在栈里面,复杂数据类型存在堆里面,互不干扰
	3.简单类型的内存分配
	简单数据类型是存放在栈里面,里面直接开辟一个空间存放的值
	复杂数据类型 先在栈里面存放地址 十六进制表示 然后这个地址指向堆里面的数据
	4.简单数据类型传递参数

	5.复杂数据类型传递参数