javascript基本概念

语法:
    1.区分大小写
    2..标识符命名规则:
        1) 起始位必须为字母,下划线或$符
        2)其他字符可以为字母, 下划线, $符或数字
        3)采用驼峰格式命名
    3.注释
        1) 单行注释 //
        2)块级注释
            /*
             *
             */

    4.严格模式
        function{
            "use strict";  //启用严格模式
            //函数体
        }

    5.语句
        常规语句:
            var sum = a + b; //有效语句,分号结尾

        代码块:
            if(condition){
                alert();
            }

变量:
    ECMAScript变量是松散类型的(每个变量仅作为占位符)
    变量声明: var varName;
    变量声明赋值: var varName = "15";

    关于var:
        如果在函数中使用var定义变量,该变量在函数外不可用
        如果在函数中不使用var定于变量,该变量为全局变量(该函数需要提前被调用,
        测试后结论)


数据类型:
    5种基本数据类型
        1.Undefined(该值派生于null,与null相等性测试返回true)

        2.Null

        3.Boolean
            类型转换中对应false的值:
                1.false
                2."" 空字符串
                3.0 和 NaN
                4.null
                5.undifined
            其余值对应true

        4.Number
            关于进制:
                1.八进制:
                    var a = 056; //八进制46
                    如果定义的八进制值为无效,会被解析为十进制
                    var a = 08; //十进制8
                2.十六进制
                    var b = 0x1f;//十六进制
            关于浮点数
                不要测试某个特定的浮点数值
            数值范围
                Number.MIN_VALUE
                Number.MAX_VALUE
            关于NaN(not a number)
                本来要返回数值的操作数未返回数值(不抛出异常)
            数值转换:
                1.布尔值 ==> 数值: true=1, false=0;
                2.数字 ==> 数字 : 简单的传入
                3.null ==> 0
                4.undifined ==> NaN
                5.仅包含数字的字符串 : 转换为相应十进制的数字
                6.仅包含有效的十六进制, 转换为十六进制对应的十进制的值
                7.空字符串 : 0
                8.非空且非数字 : NaN

        5.String

    1种复杂数据类型
        Object(本质是由一组无序的名值对组成)

    typeof操作符
        可返回值
            1.undefined : 未定义
            2.boolean : 布尔值
            3.string : 字符串
            4.number : 数值
            5.object : 是对象或null
            6.function : 函数

语句:
    1.if语句:
        if(condition){
            statements1;
        }else{
            statements2;
        }

    2.do-while语句:(statements1 至少执行一次)
        do{
            statements1;
        }while(condition);

    3.while语句:
        while(condition){
            statements
        }

    4.for语句
        for(initialization; expression; post-loop-expression){
            statements1
        }

    5.for-in(迭代语句)
        for (property in expression){
            statements;
        }

    6.label语句(不想看)
    7.with语句(不想看)
    8.break continue(so easy)
    9.switch语句
        switch(expression){
            case value1:statement1
            break;
            case value2:statement2
            break;
            case value2:statement2
            break;
            default : statement;
        }

函数:
    function functionName(argument...){
        statement;
    }

    对于函数不论在声明中声明参数个数为多少(0-N),调用其时都可以传入任意多个
    参数(0-N),函数没有重载.

    在函数内部可以通过arguments.length获得参数个数,并可以借此在参数个数不
    同时调用不同的方法(可以理解为完成一定程度的方法重载)

        function add() {
            alert(arguments.length);
            if(arguments.length == 0)
                alert(100);
            if(arguments.length == 1)
                alert(arguments[0] + 10);
            if(arguments.length > 1){
                var str = 0;
                for(var i = 0; i < arguments.length; i ++){
                    str += parseInt(arguments[i]);
                }
                alert(str);
            }
        }
        add(); //100
        add(1); //2
        add(1,2,3,4); //10

原文地址:https://www.cnblogs.com/slowalker-lee/p/8387901.html