JavaScript基础2
函数返回值
什么是函数的返回值
1.函数的执行结果
function show(){ return 12;//12就是函数返回值 } var a = show() console.log(a) //12
2.可以没有return返回的是undefined
function show(){ //函数返回值 } var b = show() console.log(b) //undefined
一个函数应该只返回一种类型的值
函数传参
参数的个数可变,参数数组
function sum(a,b){ return a+b;//参数是固定两个 } console.log(sum(12, 6))
可变参(不定参):arguments
function sum(){ console.log(arguments.length)//4 var i = 0; for(var a = 0; a < arguments.length; a++){ i += arguments[a]; } return i; }
//sum()里面的参数不确定 console.log(sum(12,6,7,8))//33
function sum(){ console.log(arguments.length)//16 var i = 0; for(var a = 0; a < arguments.length; a++){ i += arguments[a]; } return i; } console.log(sum(12, 6,7,8,55,6,9,4,2,65,8,9,84,9,49,498,))//831
CSS函数
css(oDiv,'width') 获取样式
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <script> function getStyle(obj, name) { if (obj.currentStyle) { return obj.currentStyle[name]; } else { return getComputedStyle(obj, false)[name]; } } window.onload = function () { var oDiv = document.getElementById('div1'); console.log(getStyle(oDiv, 'width'))//200px } </script> </head> <body> <div id="div1" style="width: 200px; height: 200px; background:red;"></div> </body> </html>
css(oDiv, 'width', '100px') 设置样式
数组的属性:
length
既可以获取,又可以设置
//length获取 var arr= [1,2,3,4,5,6] console.log(arr.length)//6
//length设置 var arr= [1,2,3,4,5,6] arr.length = 3 console.log(arr)//[ 1, 2, 3 ]
快速清空数组:设置length=0
数组使用原则:数组中应该只存一种类型的变量
数组的方法:
添加:
push(元素),从尾部添加
var arr = [1,2,3] arr.push(4) console.log(arr)//[ 1, 2, 3, 4 ]
unshift(元素),从头部添加
var arr = [1,2,3] arr.unshift(5) console.log(arr)//[ 5, 1, 2, 3]
删除:
pop(),从尾部删除
var arr = [1,2,3] arr.pop() console.log(arr)//[ 1, 2 ]
shift(),从头部删除
var arr = [1,2,3] arr.shift() console.log(arr)//[ 2, 3 ]
splice
splice(开始,长度,元素......)
先删除,后插入
删除
splice(开始,长度)
var arr = [1,2,3,4,5,6] //splice(开始位置,删除几个) arr.splice(1, 1) console.log(arr)//[ 1, 3, 4, 5, 6 ]
var arr = [1,2,3,4,5,6] //splice(开始位置,删除几个) arr.splice(1, 3) console.log(arr)//[ 1, 5, 6 ]
插入
splice(开始,0,元素...)
var arr = [1,2,3,4,5,6] //splice(开的位置,删除几个,插入的元素) arr.splice(1, 0, 'a','b','c') console.log(arr)//[1, 'a', 'b', 'c', 2, 3, 4, 5, 6]
替换
var arr = [1,2,3,4,5,6] //splice(开的位置,删除几个,替换的元素) arr.splice(1, 3, 'a','b','c') console.log(arr)//[ 1, 'a', 'b', 'c', 5, 6 ]
排序、转换
排序
sort([比较数组]),排序一个数组
排序一个字符串数组
排序一个数字数组
var arr = [5,6,9,8,4,7] var b = [5,65,85,52,15,12] arr.sort() b.sort(function (n1, n2) { if(n1<n2){ return -1;//只要是个负数就行 }else if(n1>n2){ return 1;//只要是个正数就行 }else{ return 0 } }) console.log(arr)//[ 4, 5, 6, 7, 8, 9 ] console.log(b)//[ 5, 12, 15, 52, 65, 85 ]
var b = [5,65,85,52,15,12] b.sort(function (n1, n2) { //n1<n2---- n1 - n2就为负数 //n1>n2---- n1 - n2就为正数 //n1=n2---- n1 - n2就为o return n1 - n2; }) console.log(b)//[ 5, 12, 15, 52, 65, 85 ]
转换类
concat(数组2)连接两个数组
var a = [1,2,3] var b = [4,5,6] console.log(a.concat(b))//[ 1, 2, 3, 4, 5, 6 ] console.log(b.concat(a))//[ 4, 5, 6, 1, 2, 3 ]
join(分隔符)用分隔符,组合数组元素,生成字符串
var arr = [1,2,3,4,5,6] console.log(arr.join("-"))//1-2-3-4-5-6 console.log(arr.join(">"))//1>2>3>4>5>6