zoukankan      html  css  js  c++  java
  • L5-深入JavaScript

    今天是周末,很晚才起,想起这两天都没写博客了,还是打开了电脑,先记录下来再出去看赛车。

    函数返回值

      什么是函数返回值?

        简单的说,函数就是一个算法,有没有返回值是跟这个函数做什么的有关系。return a +b//这就是返回a+b 的和,用这个函数时,你只需a,b两个数就可以了。也可以说是

      函数执行的结果。函数也可以没有return

    函数传参

      可变参(不定参)arguments

        参数个数可变,参数数组

      例子1:求和

        求所有参数的和

    function sum(){

      return arguments[0]+arguments[1];

    }

    function sum(num1,num2){    //给参数取别名,增强可读性

      return num1 + num2;

    }

    alert(sum(2,3));

      例子2:CSS函数

        判断arguments.length

          分析程序实现原理:如果只有两个参数,那么就是获取元素样式的值;否则是设置元素样式的值。

    function getStyle(){

      if(arguments.length == 2){

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

      }

      else{

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

      }

    }

    function getStyle(obj, attr, value){

      if(arguments.length ==2){

        return obj.style[attr];

      }

      else{

        return obj.style[attr] = value;

      }

    }

    //call

    alert(getStyle(oDiv, 'width')); // 获取oDiv的 width 值  

    getStyle(oDiv, 'width' ,'300px') //设置oDiv的 width 值

    此方法只能获取行间样式,对非行间样式并不起作用。那如果获取非行间样式呢?接下来就介绍一种方法

      获取非行间样式

        obj.currentStyle[attr]  // IE

        getComputedStyle(obj, false)[attr] //适用除IE的所有浏览器

    解决兼容问题(if判断)

    if(obj.currentStyle){

      return obj.currentStyle[att];

    }

    else{

      return getComputedStyle(obj, false)[attr];

    }

    此方法不能获取到background的样式值?原因是background/border等这些属性是复合样式。如果要想获取,不能这样写background,应该写成background-color

    数组基础

      数组:相同类型数据的集合。

      数组的使用

        定义:

          var arr1 = [1, 2, 3, 4, 5];

          var arr2 = new Array(8, 9, 10);

    数组一和数组二这两中定义方式是没有任何差别的,只是[]的性能略高,因为代码短。

      数组的属性

        length

          既可以获取长度,也可以设置长度

          例子:快速清空数组

      数组的操作

        push:(添加,末尾添加)

        pop :   (删除,末尾删除)    

        unshift:(添加,头部添加)

        shift:   (删除,头部删除)

    这些操作都是对数组的头部和末尾进行操作的——那如何对数组的中间进行操作?接下来就要介绍一种操作数组的万能方法:

      splice

        splice(起点,长度) 删除元素   

        splice(起点,长度,元素)if(长度)?替换元素:插入元素;(?:三元运算符)

    var arr1 = [1, 2, 3, 4, 5];

    arr1.splice(2,3);  // arr = [1,2]删除三个元素

    arr1.splice(2,0,'a','b');    //arr1 = [1, 2, 'a','b',3, 4, 5]; 删除0个元素,添加两个元素 插入元素

    arr1.splice(2,2,'a','b');    //arr1 = [1, 2, 'a','b', 5]; 删除2个元素,添加两个元素  替换元素

      数组连接

        concat : 连接两个数组

    arr1.concat(arr2);    // [1, 2, 3, 4, 5 ,8 , 9 ,10]

        join(连接符):应用:ajax连接网址

      数组排序

        sort(比较函数) 排序一个数组

          排序一个字符串数组

          排序一个数字数组

  • 相关阅读:
    点子
    evil idea
    ubuntu 10.04.3 modify source.list
    点子
    ubuntu常用软件安装
    架构技术介绍网站
    点子
    点子
    【转发】上海地区工作,全国找网络底层技术开发大牛,旅游方面的创业项目。
    文本相似度计算余弦定理和广义Jaccard系数
  • 原文地址:https://www.cnblogs.com/linyongli/p/5297375.html
Copyright © 2011-2022 走看看