Javascript高级程序设计_2

Posted on 2018-01-12 12:44  Jonathan_C  阅读(108)  评论(0)    收藏  举报
  • ECMAScript的变量是松散型的变量
    var info='hi',age=17,found=false;

    像这样的fuzhi赋值或者定义变量是允许的。

  • 数据类型:主要包括Undefined, Null, Boolean, Number和String。另外一个复杂的数据类型为object。
  • typeof操作符用于检测该变量是何种数据类型,返回值为string。一般来说,undefined--未定义,boolean--布尔类型,string--字符串,number--数值,object--对象或者null,function--函数。
  1. 声明变量但是没有初始化,则该变量的默认类型为undefined。
  2. null相当于空指针,初始化一个变量,并打算之后再用,那么使用null空指针。
  3. if(null==undefined){
        alert(true);
    }//true

    Boolean类型具有两个字面值:true 和false;

  4. 数值包括:整数和浮点数。
  5. var num=10;//10
    var octnum=070;//in decimal scale is 56
    var hexnum=0xA;//in decimal scale is 10
    var floatnum=3.14159;//float number
    var floatnum2=3.125e7;//31250000

    NaN(not a number):不会影响其他代码的运行,只会抛出一个NaN结果,并且NaN与任何值都不想等。

  6. 数值转换函数:Number(), parseInt(),parseFloat(),其中parseInt()用的比较多。
    var a=parseInt('123456blue');//123456
    var b=parseInt(' ');//NaN
    var c=parseInt('0000111');//111
    var d=parseInt('0xA');//10
    var e=parseInt('070');//70
    var f=parseInt('22.562');//22
  7. String类型的数据可用单引号或双引号表示。转换成字符串则使用toString()方法
  8. object类型为对象,创建方式类似于java。对象具有构造函数:Object()。检查某属性是否存在对象中:object.hasOwnProperty(attr),返回值为布尔类型。获得布尔对象的原始值:valueOf()。对象的属性是否可以枚举,使用propertyisEnumerable(attr)。传入对象是否是另一个对象原型,采用object_A.isPrototypeOf(object_B)。
  9. var obj=new Object();

    JS的一元操作符、逻辑操作符基本沿用了C++、Java的操作符语法和系统,这里不做赘述。

  10. 循环语句中,除了 while\for\do-while\if\switch\break\continue 语句与c和java一样以外,还有for-in语句。

    for-in 语句是一种精准的迭代语句:

var arr=new Array();
arr=[1,2,3,4,5];
for(var i in arr){
    document.write(arr[i]+' ');
}
  • JS的函数定义:不需要声明返回值,一旦运行到return语句,后面的语句则不再运行。
  •  1         var lim=10;
     2         function add(key){
     3             var sum=0;
     4             for(var i=0;i<key;i++){
     5                 sum+=i;
     6             }
     7             return sum;
     8             alert('I am missing')
     9         }
    10         var result=add(lim);//45

    注意,JS的函数没有重载!!!!!!!