Javascript基础第三课时【读书笔记】
继续更新,大致类容为:函数返回值,函数传参,数组基础三块内容,欢迎提问一起讨论:)
函数返回值
如果有return,并且有相应的操作,那么就返回相应的操作结果。看下面两种情况:
1 <script> 2 function sum(a,b) 3 { 4 return a+b; 5 }; 6 alert(sum(2,3)); 7 </script> //返回5;
1 <script> 2 function sum(a,b) 3 { 4 return;//这里的return没有给他方法,他返回undefined 5 }; 6 alert(sum(2,3)); 7 </script>
函数传参
不定参arguments
1 <script> 2 function total(){ 3 var result=0; 4 var i=0; 5 for(i=0;i<arguments.length;i++){ 6 result+=arguments[i]; 7 }; 8 alert(result); 9 }; 10 total(2,3,2,5,8,98); 11 </script>
通过上面这个函数可以给total传很多的参数
1 <script type="text/javascript"> 2 window.onload=function () 3 { 4 var oDiv=document.getElementById('div1'); 5 6 //获取计算后的样式(当前样式、最终样式) 7 //IE 8 //alert(oDiv.currentStyle.width); 9 10 //FF 11 //alert(getComputedStyle(oDiv, false).width); 12 13 if(oDiv.currentStyle) 14 { 15 //IE支持的方法 16 alert(oDiv.currentStyle.width); 17 } 18 else 19 { 20 //FF火狐支持的方法 21 alert(getComputedStyle(oDiv, false).width);第二个值可有可无,也就是flase值 22 } 23 } 24 </script>
通过上面的函数可以获取IE,FF下的非行间样式;
1 <style> 2 #div1 {width:200px; height:200px; background:red;}//简单的设置div的样式; 3 </style> 4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 5 <title>无标题文档</title> 6 <script type="text/javascript"> 7 function getStyle(obj, attr) 8 { 9 if(obj.currentStyle) 10 { 11 return obj.currentStyle[attr]; 12 } 13 else 14 { 15 return getComputedStyle(obj, false)[attr]; 16 } 17 } //这个函数也就是与上面的功能类似的一个函数,经过简化后的结果。命名为getStyle 18 19 function css(obj, attr, value) 20 { 21 if(arguments.length==2) //获取属性 22 { 23 return getStyle(obj, attr); 24 } 25 else if(arguments.length==3) //设置属性 26 { 27 obj.style[attr]=value; 28 } 29 }//这个函数类似于Jquery里面的功能 30 31 window.onload=function () 32 { 33 var oBtn=document.getElementById('btn1'); 34 var oDiv=document.getElementById('div1'); 35 36 oBtn.onclick=function () 37 { 38 css(oDiv, 'background-color', 'green');//只能是基本样式,不能使background这样的复合样式,这个属性就存在诸如images,color,attchment,position等等属性,浏览器无法辨别 39 //alert(css(oDiv, 'width')); 40 } 41 } 42 </script> 43 </head> 44 45 <body> 46 <input id="btn1" type="button" value="样式"/>//一个按钮和一个div 47 <div id="div1"> 48 49 </div> 50 </body>
数组基础
定义数组 var=arr[1,2,3,4,5];
var=new Array(1,2,3,4,5);通常使用第一种创建方法,简单明了。
<script> var arr=[1,2,3,4]; arr.length=10; alert(arr[5]); </script>
可以设置数组的长度,如果长度小于你定义的元素个数那么会删除多余的值,如果长于你设置的元素个数,出弹出undefined。
从数组尾部添加/删除一个元素 push和pop
从数组头部添加/删除一个元素 unshift和shift
sort排序
1 <script> 2 var arr=[5,6,8,1,2,6,'love','about']; 3 arr.sort(); 4 alert(arr); 5 </script>
由于sort太笨,所以编写一个比较函数来对数值排序。但是运行的时候出错了,帮忙找找error。嗷,找到了,function的大括号不能加分号。
1 var arr=[5,66,18,11,256,6]; 2 arr.sort(function(num1,num2){ 3 return num1-num2; 4 }); 5 alert(arr);
concat--连接两个数组
var a=[1,2,3]; var b=[1,2,3,4]; alert(a.concat(b));
join--添加分隔符(只能是字符串)
var a=[1,2,3]; alert(a.join('-'));
split--把字符串转成数组,但是是字符串,不是数值。(英文意思:分裂,分开)
var a='6-9-8-5'; alert(a.split('-'));
splice--从数组中间删除元素,添加元素,替换元素。(英文意思:黏贴)
1 var a=[1,2,3,4,5,6,7,8,9]; 2 //从第二个元素开始删除一个元素a.splice(2,1); 3 //从第二个元素开始删除0个元素,添加两个元 a.splice(2,0,'a','b'); 4 //从第二个元素开始,删除两个元素,也就是删除3,4两个数字,添加了a,b,c三个元素 a.splice(2,2,'a','b','c'); 5 alert(a);
END~
念念不忘,必有回响。