js--ECMA标准语法

本文详细介绍了JavaScript的ECMA标准语法,包括变量、数据类型、操作符、流控制语句和函数等内容。重点讲解了数据类型中的Undefined、Null、Boolean、Number和String类型,以及操作符如一元、位、布尔、算术和赋值操作符的用法。此外,还提到了函数的参数特性和ECMAScript中函数不支持重载的特点。
摘要由CSDN通过智能技术生成

版权声明:本文为博主原创文章,若文章中有错误请联系博主改正,请不要恶意留言(不喜欢请绕道)。欢迎大家转载,转载时请注明原文地址:https://blog.csdn.net/qq_37674616/article/details/82080200

目录

js组成

基本概念(ECMA)

1)语法

2)关键字和保留字

3)变量

4)数据类型

5)操作符

6)流控制语句

7)函数

1.理解参数

2.没有重载


js组成

 1)ECMAScript(ECMA) 提供js语法标准
        包括:
            变量
            数据类型
            关键字
            操作符(var)
            语句
            数组   

面向对象

2)DOM,提供访问和操作网页内容的方法和接口
        文档对象模型
        js语法标准开发出来的操作元素的js库
3)BOM,提供与浏览器交互的方法和接口
        浏览器对象模型
        window.alert()
        setInterval()
        setTimeout()


基本概念(ECMA)

1)语法

        1.区分大小写
        2.标识符
            第一个字符必须是字母、下划线(_)或一个美元符号($)
            其他字符可以是字母、下划线、美元符号或数字
        3.注释
            包括单行注释和块级注释
                //单行注释
                /* 块级注释*/
        4.严格模式
            1.可以在脚本顶部添加  "use strict"
            2.可以在函数体内部使用:

                function doSomething(){
                    "use strict";
                        //函数体
                }


        5.语句
            ECMAScript的语句以一个分号结尾;如果省略分号则由解析器确定语句的分号。不推荐省略分号,省略分号会导致解析器要花费更多时去推测分号位置,若通过空格压缩代码会导致压缩错误


2)关键字和保留字

       关键字
            var、break、 case、 void 、while、 typeof ...
        保留字
            int、 short、 long、 byte、 abstract、 class ...


3)变量

每个变量仅仅是一个用于保存值的占位符。如 var message
        ** 注意:用var操作符定义的变量将成为定义该变量的作用域中的局部变量,例如

                function test(){
                    var message="hi"; //局部变量
                }
                test();
                alert(message); //错误!!


            在上面的例子中如果省略 var操作符,因而message就成了全局变量。


 4)数据类型

 5中基本数据类型:Number、String、Boolean、Undefined Null
        还有一种复杂数据类型 --Object,Object本质是由一组无序的名值对组成。


4.1 typeof 操作符

对一个值使用typeof操作可能返回下列某个字符串:
                * "undefined"     --如果这个值未定义
                * "boolean"     --如果这个值是布尔值
                * "string"        --如果这个值是字符串
                * "number"        --如果这个值是数值
                * "object"        --如果这个值是对象或null
                * "function"    --如果这个值是函数。
                
 ***注意:但是尚未定义(尚未声明)与未初始化的变量执行typeof操作符都会返回undefined值。这个结果有其逻辑上的合理性、因为虽然这两种变量从技术角度看有本质区别,但实际上无论对哪种变量也不肯能执行真正的操作。


 4.2 Undefined类型

该类型只有一个值,即underfined,在使用var声明变量但未对其初始化时,这个变量的值就是underfined 例如:

                    var message;
                    console.log(message == underfined); //true


  ==>等价于

                    var message= underfined;
                console.log(message == undefined); //true

***注意:对于尚未定义过的变量,通过控制台打印会报错!

4.3 Null类型

 该类型也只有一个值 即null。从逻辑角度来看,null值表示一个空对象指针。因此typeof操作符检测null值时返回"object"
     用途:如果定义的变量准备在将来用来保存对象,那么最好将该变量初始化化为null
                    var car=null;
                        console.log(car); //"object"
                **注意:其实undefined值是派生自null值的,因此
                            console.log(null==undefiend) //true


 4.4 Boolean类型

该类型只有两个字面值:true和false。但这两个值与数字值不是一回事,因此true不一定等于1,而false也不一定等于0.
                var found=true;
                var lost=false;
                如果要将一个值转换成一个boolean值。可以调用Boolean()函数。
                各种数据类型的转换规则
                    boolean            true                              false
                    String          任何非空字符串                    ""(空字符串)
                    Number             任何非零数字值(包括无穷大)             0和NaN
                    Object             任何对象                             null
                    Unfefined         n/a                                 undefined
            ** 在if语句中自动执行相应的Boolean转换
                例如:

                        var message;
                        if(message){
                            alert("Value is true");    
                        }


4.5 Number类型

该类型可以表示整数和浮点数值。

                var intNum=55             //整数
                var octalNum1=070;         //八进制数值56
                var octalNum2=078        //无效的八进制--解析为 78

4.5.1  浮点数值

1)由于保存浮点数值需要的内存空间是保存整数值的两倍,因此ECMAScript会不失时机地将浮点数值转换为整数值

       var floatNum=1.0  //解析为 1

2)对于极大或者极小的数可以用 e 表示(即科学计数法)    

  var floatNum=3.12e7 //等价于 3.12*10^7

4.5.2  isFinite()
                来确定参数是否超出了数字范围,若没有超出返回 true 超出后返回false
                        正无穷 infinity  负无穷 -infinity
                    *** 正数除以0返回 Infinity 负数除以0返回-Infinity  0除以0返回NaN

4.5.3  NaN
                表示一个非数值的特殊数值。这个数值用来表示一个本来要返回数值的操作数 未返回数值的情况(这样就不会抛出错误,计算机还能继续运行)
                    **NaN与任何值都不相等,包括NaN本身。
                 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值