Javascript基础——深入了解Javascript(函数返回值return、函数传参arguments、兼容各浏览器的单一行间样式、元素的插入删除split/shift/sort/pop)

1、函数返回值

即函数的执行结果,不过return返回的值也可以为空,

若无结果时返回undefined。

function show(){

return 12;

//return 'asbjf';

}

alert(show());

//var a=show();

//alert('a');


2、函数传参

第一种情况:函数参数已知;

function sum(a,b,c){

return a+b+c;

}

alert(sum(12,6,7));      //传入参数12,6,7

第二种情况:函数参数未知——此时借助于数组(arguements)

例1(求和):ba

function sum(){

//arguements;

var result=0;

for(var i;i<argurments.length;i++){

return + = arguments[i];

}

return result;

}

alert(sum(12,34,56,6,86,5,4));

例2:(css函数使用)

(1)判断arguments.length

(2)参数——css(oDiv,'width');               //两个参数为获取;

css(oDiv,'width','200px');   //三个参数为设置样式;

若为三个参数时,可设置为css(obj,name,value);

代码如下:

function css(){

if(arguements.length==2){         //两个参数为获取;

return arguments[0].style[arguments[i]];

}

else{

arguments[0].style[arguments[1]]=arguments[2];

}

}

window.οnlοad=function (){

var oDiv=document.getElementById("div1");

css(oDiv,'background','green');

}

<body>

<div id="div1" style="width:200px;height:200px;background:#ccc">

</body>


3、兼容各浏览器的非行间样式——单一样式

该代码案例主要作为一个包进行使用。

<head>

<style>
#div1{width: 200px;height: 200px;background: #ccc;}
</style>
<script>
function getStyle(obj,name){

//兼容IE浏览器
if(obj.currentStyle){       
return obj.currentStyle[name];
}

//兼容Chrome、FireFox
else{
return obj.CompentStyle[name];
}
}
window.οnlοad=function(){
var oDiv=document.getElementById('div1');
alert(getStyle(oDiv,'width'));
}
</script>
</head>

<body>
<div id="div1"></div>
</body>

此外,还应该注意两个概念——复合样式、单一样式

复合样式:如background、border

单一样式:如width、position、height


4、数组基础

(1)定义:var arr=[1,2,3];

    var arr=new Array(1,2,3);

一般建议用第一种格式;

(2)数组属性Length——既可以获取,也可以设置(如arr.length=0)

alert(arr.length);

注意:为了避免出现问题,建议数组中存取相同样式的元素;

(3)数组的使用——插入和删除

a、当作用于尾部时,采用push()、pop()

push()——向数组的尾部添加

  pop()——向数组的尾部删除

b、当向数组的头部进行操作时,采用shift()、unshift()

unshift()——类似于push()

    shift()——类似于pop()

c、splice()某个点插入删除元素用法

c1、删除元素:splice(起点、长度)

例如——arr.splice(2,3);

c2、插入元素:splice(起点、长度、插入的元素...)

例如——arr.splice(2,0,'a','b','c')  //直接插入;

       arr.splice(2,3,'a','b','c');   //表示先删除,在插入,类似于替换;

d、转换类——

(d1)数组间的连接concat(数组2);

例如:alert(a.concat(b));

(d2)数组间连接的字符join(分隔符)——用分隔符,组合数组元素,生成字符串

例如:alert(arr.join('-'));

此外,字符串的删除采用上边的方法split()


e、数组间的排序sort(比较函数)——排序一个数组

例如:var arr=['float','width','asd','zoom','left'];

   arr.sort();

   alert(arr);

不过,对于sort()而言,一般对数字进行排序,而非字符;

例如:var arr=[12,4,73,23,46,122];

     arr.sort();

   alert(arr);   

//把数组中数字当成了字符串,会抛出错误。

若要对数组中数字进行排序,需要借助函数进行比较

例如:arr.sort(function(n1,n2){

第一种方法:利用n1,n2比较

if(n1<n2){

return -1;

}

else if(n1<n2){

return 1;

}

else{

return 0;

}

第二种方法:借助n1-n2

return n1-n2;

});

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值