美文网首页
JS 章节②. 基础应用(中) : 深入JavaScript

JS 章节②. 基础应用(中) : 深入JavaScript

作者: 壹点微尘 | 来源:发表于2017-06-10 22:21 被阅读11次

    1.函数返回值

    • 返回值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>

    
    > ###2.取非行间样式 (也就是样式写在<style></style>之间,或者css文件中)
    
    由于`currentStyle `只兼容`IE`,`getComputedStyle(oDiv, false)`只兼容`Chrome、FF`等,所以可以写一个函数来获取非行间样式
    ######获取取非行间样式 函数:
    

    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(开始, 长度,元素…)
    先删除,后插入

    替换
    

    先删除,后插入 可用作替换

     - 数组连接 (两个数组合并) :concat
    concat(数组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>

    相关文章

      网友评论

          本文标题:JS 章节②. 基础应用(中) : 深入JavaScript

          本文链接:https://www.haomeiwen.com/subject/yeuxqxtx.html