Skip to content

深入 JavaScript

函数返回值

函数返回值

什么是函数返回值

函数的执行结果

可以没有return

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

函数传参

  • 可变参(不定参):arguments

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

例子1:求和

javascript
function sum(){
		var num = 0;

		for(var i = 0; i < arguments.length; i++){
			num += arguments[i];
		}

		return num;
	}

	alert(sum(1, 9, 8, 9));

求所有参数的和

例子2:CSS函数

javascript
	function css(obj, name, value){
		if(arguments.length == 2)
		{
			return obj.style[name];
		}else{
		obj.style[name] = value;
		}
	}
	
	window.onload = function (){
		var oDiv = document.getElementById('div1');

		alert(css(oDiv, 'width'));
		css(oDiv, 'background', 'green');
	}

判断arguments.length

给参数取名,增强可读性

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

初探 JavaScript 魅力我们就知道 style 只能获取行间样式

obj.currentStyle[attr] //但许多不兼容 firefox

getComputedStyle(obj,false)[attr]

javascript
	window.onload = function () {
		var oDiv = document.getElementById('div1');
		
		if(oDiv.currentStyle){//IE
			alert(oDiv.currentStyle.width);
		}else{//ff chrome
			alert(getComputedStyle(oDiv,false).width);
		}
	}

复合样式:background,boder

单一样式:width

getComputedStyle 只能取单一样式

数组基础

数组的使用

定义

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

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

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

数组的属性

length

既可以获取,又可以设置

例子:快速清空数组

var arr = [1, 2, 4, 5];

arr.length = 0;

数组使用原则:数组中应该只存一种类型的变量

添加、删除元素

数组的方法

添加

push(元素),从尾部添加

unshift(元素),从头部添加

删除

pop(),从尾部弹出

shift(),从头部弹出

插入、删除

splice

javascript
var arr = [1, 2, 3, 4, 5, 6]

arr.splice(2, 3);	//1, 2, 6
arr.splice(2, 0);	//1, 2, 3, 4, 5, 6
arr.splice(2, 0, 'a');	//1, 2, a, 4, 5, 6
arr.splice(2, 1, 'a');	//1, 2, a, 5, 6

splice(开始, 长度,元素…)

先删除,后插入

删除

splice(开始,长度)

插入

splice(开始, 0, 元素…)

替换

排序、转换

排序

javascript
	// var arr = ['as', 'wer', 'oui']

	// alert(arr.sort());	//as,oui,wer
	var arr = [1, 11, 98, 65, 5, 6];

	//alert(arr.sort());	//1,11,5,6,65,98 比较的字符串
	
	alert(arr.sort(function (n1, n2) {
		return n1 -n2;
	}));

sort([比较函数]),排序一个数组

排序一个字符串数组

排序一个数字数组

转换类

concat(数组2)

javascript
var a =[1, 2, 3];
var b =[1, 2, 3];

alert(a.concat(b));	//1, 2, 3, 1, 2, 3

连接两个数组

join(分隔符)

javascript
var a =[1, 2, 3];

alert(a.join('-'));	//1-2-3

用分隔符,组合数组元素,生成字符串

字符串split