深入了解JavaScript

深入了解JavaScript

函数返回值

什么是函数的返回值

  • 函数的执行结果

  • 可以没有return

一个函数应该只返回一种类型的值

函数传参

可变参(不定参):arguments

​ 参数的个数可变,参数数组

例子1:求和

/*arguments 可变参 不定参
例一:求和*/
function sum(){
    var result = 0;
	for(var i=0;i<arguments.length;i++)
	{
		result+=arguments[i];
	}
	return result;
}
			
alert(sum(1,2,3,4,5,6,7,8))		//返回36

例子2:CSS函数

/*jQuery中的css函数*/
css(oDive,'width')			//获取样式
css(oDiv,'width','200px')	//设置样式
/*CSS函数*/
function css(){
				if(arguments.length==2)		//获取/
				{
					return arguments[0].style[arguments[1]];
				}
				else
				{
					arguments[0].style[arguments[1]]=arguments[2];
				}
			}
			
			window.onload=function()
			{
				var oDiv=document.getElementById('div1');
				//alert(css(oDiv,'width'));			//返回oDiv的宽度
				css(oDiv,'background','green');		//设置样式
			}

取非行间样式(不能用来设置)

​ obj.currentStyle[attr] (IE可用,FF不兼容)

​ getComputedStyle(obj,false)[attr] (Chrome,FF)

window.onload=function()
			{
				var oDiv=document.getElementById('div1');
				//alert(oDiv.style.width)					//取不到非行间样式
				//alert(oDiv.currentStyle.width)			//获取非行间样式
    			//alert(getComputedStyle(oDiv,null).width)	//获取非行间样式,第二个参数值随意
    			/*浏览器兼容处理*/
				if(oDiv.currentStyle)
				{
					//IE
					alert(oDiv.currentStyle.width);
				}
				else
				{
					//FF
					alert(getComputedStyle(oDiv,null).width)
				}
			}

CSS中存在两种样式:

​ 复合样式:background,border

​ 单一样式:width,height,position

数组基础

数组的使用

定义

​ var arr=[12,5,8,9];

​ var arr=new Array(12,5,8,9)

​ 没有任何差别,[]的性能略高,应为代码短

数组的属性

length

即可以获取,又可以设置

例子,快速清空数组(arr.length=0;)

数组的使用原则:数组中只存一种类型的数据

添加,删除元素(数组头部及尾部)

var arr=[1,2,3];
arr.push(4);		//往数组的尾部添加元素
arr.pop()			//往数组的尾部弹出元素
arr.shift();		//从数组的头部弹出元素
arr.unshift();		//往数组的头部添加元素

插入,删除

var arr=[1,2,3,4,5,6];
//删除:splice(起点,长度)
arr.splice(2,3);			//从数组第三个元素起,删除3个元素
//插入:splice(起点,长度,元素...)
arr.splice(2,0,'a','b','c');
//替换:
arr.splice(2,2,'a','b');

排序,转换

/*数组的转换*/
var a=[1,2,3];
var b=[4,5,6];
alert(a.concat(b));			//连接两个数组
alert(a.join('-'));			//用分隔符,组合数组元素,生成字符串
/*数组的排序*/
var arr=['float','width','alphe','zoom','left'];
arr.sort();
alert(arr);				//输出alphe,float,left,width,zoom,按字母排序
var b=[3,5,6,2,4,6,7,8];
b.sort();
alert(b);				//输出2,3,4,5,6,6,7,8,按照数字排序

带参数使用sort()

var arr=[12,8,99,19,112];
arr.sort(function(n1,n2){
	return n1-n1;
});
原文地址:https://www.cnblogs.com/potatolulu/p/12955246.html