深入JavaScript之基础应用
函数返回值
返回值1
<script>function show(){ return 'advb'; }var a=show(); alert(a); // 结果: advb</script>
返回值2
<script>function show(a, b){ return a+b; } alert(show(3, 5));</script>
返回值3
<script>function show(a, b){ //return; //没有return} alert(show(3, 5)); //结果 : undefined</script> <script>function show(a, b){ return; //没有return任何东西} alert(show(3, 5)); //结果 : undefined</script>
一般求和
<script>function sum(a, b){ return a+b; } alert(sum(12, 6));</script>
多个参数求和 (arguments 是一个可变数组 )
<script> function sum() { //arguments 是一个可变数组 var result=0; for(var i=0;i<arguments.length;i++) { result+=arguments[i]; } return result; } alert(sum(12, 6, 8, 6, 8, 6, 8)); //结果 : 54</script>```
- CSS函数 当传入两个参数时获取属性 , 三个参数时,修改样式
<html> <head> <meta charset="utf-8"> <title>CSS函数</title> <script> 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')); //获取到宽度 200px css(oDiv, 'background', 'green'); //修改背景颜色为绿色 }; </script> </head> <body> <div id="div1" style="width:200px; height:200px; background:red;"> </div> </body> </html>
function getStyle(obj, name) {if(obj.currentStyle) //由于currentStyle只兼容IE,所以在IE浏览器中他是true,其他浏览器中为false { return obj.currentStyle[name]; //IE } else { //计算样式 其中getComputedStyle(oDiv, xxx) 第二个参数可以随便填,一般习惯写false return getComputedStyle(obj, false)[name]; //Chrome、FF } }
示例代码:
通过上面的函数来获取非行间样式 `backgroundColor`
window.onload=function (){var oDiv=document.getElementById('div1'); alert(getStyle(oDiv, 'backgroundColor')); };
###注意<a>此函数只适用于单一样式,复合样式不适用!!!</a>
单一样式:width、height、position 等
复合样式:background、border 等
>###3.数组- 数组基础
- 数组的使用
定义
var arr=[12, 5, 8, 9]; //一般用这种创建方式,简单 var arr=new Array(12, 5, 8, 9); //也可以这样创建
没有任何差别,[]的性能略高,因为代码短
- 数组的属性
length
既可以获取,又可以设置 :①.可以获取数组的个数,②.又可以用过array.length = 1;来设置数组的个数;
例子:快速清空数组 //用过array.length = 0;来清空数组;
数组使用原则:数组中应该只存一种类型的变量
- 数组的方法
添加
push(元素),从尾部添加一个元素
unshift(元素),从头部添加一个元素
删除
pop(),从尾部删除一个元素
shift(),从头部删除一个元素
- 插入、删除`splice` (`音标:[splaɪs]`) : 数组的万能操作
删除
splice(开始,长度) //第一个参数:指定位置;第二个参数:指定长度
插入
splice(开始, 0, 元素…)
先删除,后插入
splice(开始, 长度,元素…)
先删除,后插入
替换
先删除,后插入 可用作替换
- 数组连接 (两个数组合并) :concatconcat(数组2)
连接两个数组
<script> var a = [1,2,3]; var b = [4,5,6]; alert(a.concat(b)); 结果:[1,2,3,4,5,6]; alert(b.concat(a)); 结果:[4,5,6,1,2,3]; </script>
- join(分隔符)
用分隔符,组合数组元素,生成字符串 (学习ajax时,连接网址使用)
<script> var arr = [1,2,3,4]; alert(arr.join('-')) //1-2-3-4 alert(arr.join('- -p')) //1- -p2- -p3- -p4 </script>
- 字符串split (`[splɪt]`分离;分解)split() 方法用于把一个字符串分割成字符串数组。stringObject.split(separator,howmany)
separator 必需。字符串或正则表达式,从该参数指定的地方分割 stringObject。
howmany 可选。该参数可指定返回的数组的最大长度。如果设置了该参数,返回的子串不会多于这个参数指定的数组。如果没有设置该参数,整个字符串都会被分割,不考虑它的长度。
使用
如果您希望把单词分割为字母,或者把字符串分割为字符,可使用下面的代码:
"hello".split("") //可返回 ["h", "e", "l", "l", "o"]
若只需要返回一部分字符,请使用 howmany 参数:
"hello".split("", 3) //可返回 ["h", "e", "l"]
- 排序 sort`sort([比较函数])`,排序一个数组
排序一个字符串数组
排序一个数字数组
① 排序一个字符串数组
<script> var arr=['float', 'width', 'alpha', 'zoom', 'left']; arr.sort(); alert(arr); //结果 ['alpha','float','left','width','zoom'] </script>
②排序一个数字数组 - 2.1 基础版
<script> var arr=[12, 8, 99, 19, 112]; arr.sort(); alert(arr); //结果: [112,12,19,8,99] //其实他把数字当成字符串来排序了 </script>
- 2.1 晋级版
<script> var arr=[12, 8, 99, 19, 112]; arr.sort(function (n1, n2){ if(n1<n2) { return -1;//只要是个负数就可以 -2,-7等都可以 } else if(n1>n2) { return 1; //只要是个正数就够了 } else { return 0; } }); alert(arr); //结果:[8,12,19,99,112] </script>
- 2.2最终版 (由2.1进化而来)
<script>var arr=[12, 8, 99, 19, 112]; arr.sort(function (n1, n2){ return n1-n2; //若果n1>n2,为正;如果n1<n2,为负;如果相等,则为0;});alert(arr);//结果:[8,12,19,99,112] </script>
相信看了本文案例你已经掌握了方法,更多精彩请关注其它相关文章!
推荐阅读:
以上就是深入JavaScript之基础应用的详细内容,更多请关注其它相关文章!
上一篇: HTML与CSS中背景相关属性
下一篇: 浅析IE针对Ajax请求结果的缓存问题