zoukankan      html  css  js  c++  java
  • javascript学习笔记1

    javascript是解释执行的客户端的基于对象和事件驱动的动态语言,解释型的语言并不需要对其进行编译,只是从上到下直接执行即可。

    在js中,函数就是对象,例如可以向如下这样写代码,但是平时不常用

    var test02 = new Function("a","b","alert(a+b);");

    通过上面的代码还可以看出,函数里的形参可以不写var声明,因为js是弱类型,传进来的参数一定是var,所以可以不写

    还可以向下面这样用函数,

    var ttt = "chengyuan";
    
    function test() {
            var aa="jubu";
            bb='weichengyuan';
            alert(aa);
        }
           function test2(){
            alert(ttt);
        }
        function test3(){
            var t1=true;
            var t2="true";
            if(t1==t2){
                alert("true");
            }else{
                
                alert("false");
            }
        }
        
        function test4(){
            alert("true"==1);
        }
        function test5(){
            alert(Number("true"));
        }
        function test6(param){
            param();
        }
    </script>
    
    </head>
    <input type="button" value="test1" onclick="test();"/>
    <input type="button" value="test2" onclick="test2();"/>
    <input type="button" value="test3" onclick="test3();"/>
    <input type="button" value="test4" onclick="test4();"/>
    <input type="button" value="test5" onclick="test5();"/>
    <input type="button" value="test6" onclick="test6(test2);"/>
    <body>
    

      

    test6()里传入的是函数的名字,然后在函数体内加上括号就可以执行这个方法。上面的其它方法也具有代表意义,可以看看。

    上面的代码输出依次为


        image

    image

    image

    image

    image

    image

    不得不说的是NaN,他的意思是Number is not a Number,当将一个不能转为数字的js变量转为Number时,就会出现NaN类型,它是唯一一个自己不等于自己的类型,NaN类型也不可能等于别的类型的值。

    js有6种类型,分别为string,object,Number,boolean,null,undefined,其中,null是undefined的衍生类;常用的有 String boolean Number。

    可以通过typeof(变量名)来得到变量的类型。

    “==”和“===”的差别:

    ==等值符  发生类型的自动转换
          ===等同符 不发生类型的自动转换,比较的时候先比较typeof的值
               进行比较的时候 String boolean Number
                  类型相同
                             直接进行比较
                  类型不同
                             发生类型转换,同时向Number靠拢,调用Number方法

    用+进行两个类型相加时,遇到string类型的变量时整体全部变为string,这个与java语法很相近,但是需要明确指定的是javascript和java并没有任何关系。而且,js不支持重载,当有多个名字相同的函数时,这个函数实际上是最后一个相同名字的函数,前面的函数永远不会被执行,因为它们被覆盖了。

    现在有一个function如下:

    function test8(){
            alert(Number("123.345"));
            alert(parseInt("123.a45"));
            alert(parseFloat("123.a45"));
            alert(parseInt("a123.456"));
        }
    

      

    输出的结果为:123.456

               123

               123

               NaN

    这是因为对值进行解析的时候是从左边一位一位解析的,当遇到了不能解析的字符时就停止解析,所以第四个的结果刚刚解析就碰到了这个问题,故出现了NaN。

    function test(a,b,c){

    }

    其中,test.length表示形参的个数。

    arguments.length表示的是实参的个数,当某个形参的个数为3个时,可以向其传大于3个的实参,这时后面的参数将会被 无视,当向其传入2个实参时,alert时会出现NaN,因为第三个没有传入的实参被 自动的附于了undefined类型。

    还有如下的情况,代码如下:

    <a href="javascript:void(0);" onclick="test01();">test01</a>中"javascript:void(0);" 这个方法常用,用于将这个超连接指向当前页的当前位置。

    <input type="button" value="一个事件两个方法" onclick="test01();test02();"/>

    一个事件要两个方法的写法如上。

    eval() 函数可计算某个字符串,并执行其中的 JavaScript 代码。

    代码如下:

    function test9(){
            var c="abcd";
            var a = "var b=c"
            eval(a);
            alert(b);
        }
    

      

    输出结果为abcd
        

    function test10(){
            var a ="[1,2,3,4,5,6]";
            eval("var dd = "+a);
            alert(dd[7]);
        }
    

      


        输出结果为undefined
       

     function test11(){
            var arr = "[1,2,3,4,5,6]";
            eval("var dd = "+arr);
            alert(dd[3]);
        }
    

      

    输出结果为3

    js定义数组:

    var arr = new array();

    或者var arr = [1,2,3,4];

    或者var arr = new array(10);

    需要注意的是,JS里面定义的数组的长度是可变的,这和java的数组是有区别的

  • 相关阅读:
    NTT算法小结
    FFT算法小结
    [USACO18DEC]Balance Beam
    洛谷4014分配问题
    洛谷4015运输问题
    洛谷3356火星探险问题
    python中函数详解
    python函数详解
    Python中对文件处理
    Python中的字符编码
  • 原文地址:https://www.cnblogs.com/lilyjia/p/3867204.html
Copyright © 2011-2022 走看看