Javascript基础复习(二)

来源:互联网 发布:数据采集仪 编辑:程序博客网 时间:2024/05/23 11:12

1、ECMAScript的变量是松散类型,严格区分大小写。
2、用var操作符定义的变量将成为定义该变量的作用域中的局部变量;省略var操作符,会创建一个全局变量。
3、常用函数

  • Boolean():所有类型的值都有与true和false值对等的值。用于将一个值转换为其对等的Boolean值;
  • isNaN(a):确定参数a是否“不是数值”;
  • Number():数值转换函数;
  • parseInt():将字符串转换为NaN或者整数数字;
  • parseFloat():将字符串转换浮点数;
  • toString():将其他类型转换为字符串形式,null和undefined没有该函数;
  • String():将其他类型转换为字符串形式;
  • valueOf():返回对象的字符串、数值或布尔值表示,与toString()方法返回值相同;
  • hasOwnProperty(propertyName):检查给定的属性在当前对象实例中(而不是在实例的原型中)是否存在;
  • isPrototypeOf(object):用于检查传入的对象是否是当前对象的原型;

4、with语句的作用是将代码的作用域设置到一个特定的对象中.目的是为了简化多次编写同一个对象的工作;

       var qs = location.search.substring(1);       var hostName = location.hostname;       var url = location.herf;
   转化为:
     with(location){           var qs = search.substring(1);           var hostName = hostname;           var url = herf;       }
 5、函数:
       function sum(num1,num2){            return num1+num2;        }
  • 函数定义时不必指定是否返回值,任何函数再任何时候都可以通过return语句后跟要返回的值来实现返回值;
  • 参数:JS中不介意传递进来的参数,也不在乎传进来参数是什么数据类型。也就是说,即便你定义的函数只接收两个参数,在调用这个函数时未必一定要传递两个参数,乐意传递一个、三个甚至不传参数。之所以会这样,原因是JS中的参数在内部是用一个数组来表示的。函数接收到的始终都是这个数组,而不关心数组中包含哪些参数。在函数体内可以通过arguments对象来访问这个参数数组,从而获取传递给函数的每一个参数。
  • JS没有重载。JS函数没有签名,因为其参数是由包含0或多个值得数组来表示的。没有函数签名,真正的重载是不可能做到的。
    模仿重载:通过检查传入函数中参数的类型和数量并作出不同反应。
      function doAdd(){            if(arguments.length==1){                alert(arguments[0]+10);            }else if(arguments.length==2){                alert(arguments[0]+arguments[1]);            }        }