zoukankan      html  css  js  c++  java
  • <javascript搞基程序设计>笔记2015-9-25

    1.一元加减

        var a=28;        
    
        alert(--a);      //27,先减后用
        alert(a--);      //27,先用后减
        alert(a);        //26,

    2.位操作符

      按位非(NOT):按位取反;符号:~;

      按位与(AND):符号:&;

      按位或(OR):符号:|;

      按位异或(XOR):符号:^;相同的为取值为0,不同的位取值为1;

      左移:符号:<<;将所有的位向左移动,

    var oldValue=2;
    var newValue=oldValue<<5;    //左移后,原来的位置用0补齐,

      有符号右移:符号:>>;这个操作会将数值向右移,但保留左侧的符号位,

      无符号右移:符号:>>>;这个操作符会将数值的32位全部向右移动,

    3.布尔操作符:

      逻辑非:操作符:!

      逻辑与:操作符:&&

      逻辑或:操作符:||

    4.加减乘除:

    加:

    var result=5+"5";
    alert(result);        //"55",
    /*
    如果有一个数值是字符串,则将第二个操作数转换为字符串,然后将量个字符串连接起来,
    如果有一个操作数是对象,数值或布尔值,则调用他们的tostring()方法取得相应的字符串,然后在应用字符串的规则。
    对于undefined和null,则分别调用string()函数并取得字符串“undefined”和“null”。
    */

    5.for in 语句

      for in语句是一种精准的迭代语句,可以用来枚举对象的属性,

    forvar propName in window)    //循环显示window对象的属性
    {
        document.write(propName);
    }

      但是如果要迭代的对象的变量值为null或undefined,for in 语句会抛出错误,

    6.label语句

      label语句是一中书写格式,:label:statement;

    start:forvar i=0;i<count;i++){
      alert(i);  
    }        

      配合continue和break语句来使用:

    var num=0;
    outermost:
    for(var i=0;i<10;i++){
      for (var j=0;j<10;j++){
            if(i==5&&j==5)
                (break outermost;)
                num++;
        }  
    }
    alert(num);        //55,break不仅将退出内部的for循环 ,还会退出外部的for循环,

      上程序如果将break换成continue,则会强制执行循环 ,退出内不循环 ,循环外部for语句,结果为95.

    7.with语句:with语句的作用是将一段代码的作用域限制到一个特定的对象中,

        严格模式下不能使用with语句,会报错。

    /*
       由于大量使用with语句会导致性能下将,同时也会给调试代码造成困难,因此在开发大型应用程序时,不建议使用with语句。 
    */

     8.函数

    function functionName(argument1,argument2,...)
    {
        statements;
    }
        //可以通过其函数名来调用,后面加上一堆圆括号和参数(参数如果有多个,可以用逗号隔开)。

    9.arguments:

      ecmascript中的参数在内部使用一个数组来表示的,函数接收到的始终都是这个数组,而不关心数组中包含哪些参数。

      其实,arguments对象只是与数组类似,并不是array的实例,因为可以使用方括号访问他的每一个元素,(arguments[0]).

    /*
        Javascript函数中的参数对象arguments是个对象,而不是数组。但它可以类似数组那样通过数字下表访问其中的元素,而且它也有length属性标识它的元素的个数。
    */

     10.重载。

      如果在ecmascript中定义了两个名字相同的函数,则改名字属于后定义的函数

    function addNum(num)
    {
        return num+100;
    }
    function addNum(num)
    {
        return num+200;
    }
    var result=addNum(100);        //300,后定义的函数覆盖了先定义的函数,
  • 相关阅读:
    7 重排序与happens-before
    6 Java内存模型基础知识
    5 Java线程间的通信
    Java线程的状态及主要转化方法
    《The Boost C++ Libraries》 第一章 智能指针
    python通过swig调用静态库
    使用gdb调试
    Rsync服务部署使用
    UNP学习总结(二)
    read()函数的困惑
  • 原文地址:https://www.cnblogs.com/dsheldon/p/4838888.html
Copyright © 2011-2022 走看看