zoukankan      html  css  js  c++  java
  • javascipt基础随笔

    javascipt-基础---细节需要注意的地方:

    1、特殊数值:NaN、Infinity、isNaN()、isFinite()

    NaN:

    var a=parseInt('a123');
    window.alert(a); //输出NaN

    Infinity:

    window.alert(6/0);//输出Infinity 无穷大(最好不要这样写)

    isNaN():判断是不是数,不是数返回true,是数返回false

    var a="dd";
    
    window.alert(isNaN(a)); //返回true

     isFinite():用于判断是不是无穷大。如果 number 是 NaN(非数字),或者是正、负无穷大的数,则返回 false。

    window.alert(isFinite(6/1)); //返回true
    window.alert(isFinite(6/0)); //返回false

     2、逻辑运算符:

    在逻辑运算中,0""falsenullundefinedNaN均表示false

    (或 || )||  将返回第一个不为false 那个值(对象亦可),或者是最后一个值(如果全部都是false的话)

    这个知识点在javascript框架中运用很多。

    a、

        var a=true;
        var b=false;
        var c=b || a;
    
        window.alert(c); //输出true

    b、

        var a=2;
        var b=0
        var c= a || b;
    
        window.alert(c); //返回第一个值,输出2

    c、

        var a=false;
        var b="";
        var c =0;
        var d =new Object(); //对象
    
        var aa=a || b || c ||d ; //a,b,c 全是false 这返回d
        window.alert(aa); //返回d (对象) 

     4、多分支 switch

        var flag=1;
    
        switch(flag){
            
            default:
            window.alert("啥都不是");
            
            case 'a':
            window.alert("a");
    
            case 'b':
            window.alert("b");  //没有break语句,没有匹配成功, 此时结果都输出
                
        }
        var flag=1;
    
        switch(flag){
            
            default:
            window.alert("啥都不是");
            
            case 'a':
            window.alert("a");
    
            case 1:
            window.alert("b");  //没有break语句 当匹配成功则不再找break语句 此时输出b
                
        }

     5、函数调用

    func.js

    function abc(val){
        
        window.alert("abc()"+val);
    }
    
    //有返回值的函数
    function test(num1,num2){
    
        var res=0;
        res =num1+num2;
    
        return res;
    }
    
    //没有返回值的的函数
    function noVal(num1,num2){
        
        var res=0;
        res=num1+num2;
    }

    函数调用:

    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html;charset=utf-8">
    <script type="text/javascript" src="func.js"></script>
    <script type="text/javascript">
        
        //函数调用1---普通调用(常用调用函数)
        abc(50);
    
        //函数调用2---变量=函数名; 调用的时候这样调用:变量(实际参数)
        var test1=abc;    //此时变量就相当于函数的引用(指针)
        window.alert(abc);  //输出abc整个函数代码,就能理解了
        test1(500);
    
        //如果调用的函数有返回值,可以在程序中直接返回,没有返回值但是你接收了,这是返回undefined
        //调用有返回值的函数
        var res=test(20,40);
        window.alert(res); 
        
        //调用没有返回值的函数
        window.alert("调用没有返回值的函数");
        var res=noVal(1,1);
        //此时输出undefined
        window.alert(res);
    
    </script>
    </head>
    <body></body>
    </html>

     js支持参数个数可变的函数 

    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html;charset=utf-8">
    <script type="text/javascript" src="func.js"></script>
    <script type="text/javascript">
    
        //函数调用--递归
    
    /*    function abc(num){
            
            if(num>3){
                
                abc(--num);
            }
            document.writeln(num);
        }
        
        //调用函数
        abc(5);   //输出 3 3 4
    */
    
        //js支持参数个数可变的函数 
    
        function abc(){
            //js中提供了一个arguments,可以访问所以传入的值
            window.alert(arguments.length); //传入多少个
            //遍历传入的参数
            for(var i=0;i<arguments.length;i++){
                
                window.alert(arguments[i]);
            }
        }
        
        //调用
        window.alert("abc(12,13,\"hello\",56)");
        abc(12,13,"hello",56)
        
        window.alert("abc(5)");
        abc(5);
    
        window.alert("abc()");
        abc();
    </script>
    </head>
    <body></body>
    </html>

     函数中使用全局变量与局部变量

    <script type="text/javascript">
        //全局变量与局部变量
        var num=90;
    
        function test(){
            
            //在函数里,如果不带var就表示使用全局变量,
            //如果带var,表示在函数中定义一个新的 num变量
            //var num=900;
            num=900;
        }
    
        test();
        window.alert("num="+num); //输出num=900
    </script>

     6、访问对象属性有2中方式

    <script type="text/javascript">
    
    /*  //js中 一切都是对象
        function Person(){}
        window.alert(Person.constructor);
        var a=new Person();
        window.alert(a.constructor);
        window.alert(typeof a);
        window.alert(Person);
    */
        //访问对象属性有2种方式 1、对象名.属性名 2、对象名["属性名"](动态调用)
        function Person(){}
        
        var a=new Person()
        a.name="小明";
    
        window.alert(a.name);//普通方式
        var str="na"+"me";
        window.alert(a[str]);//动态方式
        //window.alert(a["name"]);//输出小明
    
    </script>

     7、创建对象的方式有五种

    1. 工厂方法—使用new Object创建对象并添加相关属性.
    2. 使用构造函数来定义类(原型对象).
    3. 使用prototype
    4. 构造函数及原型混合方式.
    5. 动态原型方式.
  • 相关阅读:
    昂达 v891 连接上adb 调试
    在不进入Guest OS的情况下,取得Guest OS的IP地址
    在远程连接一个 Wndows 10的情况下,重启远程机器
    放弃 Tightvnc, 选择 Tigervnc
    Ubuntu 16.04 构建 Headless VNC 服务器
    网站日志流量分析系统之数据可视化展示
    网站日志流量分析系统之离线分析(自动化脚本)
    网站日志流量分析系统之数据清洗处理(离线分析)
    网站日志流量分析系统之(日志收集)
    网站日志流量分析系统之(日志埋点)
  • 原文地址:https://www.cnblogs.com/pwm5712/p/3007177.html
Copyright © 2011-2022 走看看