JS基本概念(三)

1. 一元操作符

      ++在前,是变量的值(++)在语句被求值以前改变。

      var age = 29;

      var anotherAge = --age + 2;

      age---27    anotherAge---29

     ++在后,是包含该操作符的语句被求值后再执行++。

      var num1 = 2;

      var num2 = 20;

      var num3 = num1-- + num2;   //22

      num1 = 1;

     ++ 和 -- 操作符对任何值都适用,即不仅适用于字符串、布尔值、浮点数值和对象。规则如下:

     ① 对于包含有效数字字符的字符串时,先将其转换为数字值,再执行。字符串变量变成数值变量。

     ② 对于不包含有效数字字符的字符串时,变量值变为NaN,字符串变量变为数值变量。

     ③ false时,先将变量变为0在执行,布尔值变为数值变量

     ④ 浮点数时,直接执行

     ⑤ 对象时,先调用对象的valueOf() 方法,得到一个可供操作的值,再执行。如果值为NaN,则调用toString() 方法后,在执行。对象变   量变成数值变量

2. 逗号操作符

    可以用于声明多个变量:var num1 = 1, num2 = 2, bum3 = 3;

    可以用于赋值,返回表达式中的最后一项:var num = (5,1,4,8,0);    //num = 0

3. for-in 语句

    可以用来枚举对象的属性,如:

    for (var propName in Window) {

          document.write(propName);

    }  

    该循环用来显示Window对象的所有属性,每次执行循环时,都会将window对象中存在的一个属性名赋值给变量propName。一直到对象中的所有属性都被枚举一遍为止。

4. with 语句:作用是将代码的作用域设置到一个特定的对象中。在with语句中,所有定义的变量都为局部变量,如果在这个局部环境中,没有某个变量的定义,就会去特定的对象中查询同名的属性。如:

           with(location) {  //这里location是一个对象

                    var qs = search.sunstring(1);    // 相当于location.search.substring(1)

                    var hostName = hostname;      //相当于location.hostname

                    var url = href;                            //相当于location.href

           }

    

5. 函数的参数

    ECMAScript函数不介意传递进来多少个参数(即定义了一个参数,但传进来两个参数也可以),也不在乎传递进来的参数是什么数据类型。

    参数存储在arguments对象内(类似于数组),arguments[0] 代表第一个参数,依次类推。

    arguments.length属性可以获知有多少个参数传递给了函数。

    注意:没有传递值的命名参数将自动赋值为undefined

猜你喜欢

转载自blog.csdn.net/wurourouzhang/article/details/84780596