zoukankan      html  css  js  c++  java
  • JavaScript——语法与数据类型

    严格模式

    ECMA5引入了严格模式的概念。严格模式是为JavaScript定义了一种不同的解析与执行模型。在严格模式下,ECMA3中的一些不确定的行为将得到处理,而且对某些不安全的操作也会抛出错误。要在整个脚本中启用严格模型,可以在顶部添加b编译指示代码,告诉JavaScript引擎切换到严格模式:

    "use strict"

    如果在函数内部添加这条编译指示代码,表示这个函数将在严格模式下执行。

    数据类型

    ECMA中有5中简单数据类型:Undefined、Null、Boolean、Number和String。还有一种复杂数据类型——Object。

    Undefined类型

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

    var message;
    alert(message==undefined)//true

    即便未初始化的变量会自动被赋予undefined值,但显示的初始化变量依然是明智的选择。如果能够做到这一点,那么当typeof操作符返回”undefined”值时,我们就知道被检测的变量还没有声明,而不是尚未初始化。

    Null类型

    Null类型时第二个只有一个值的数据类型,这个特殊的值时null。从逻辑角度来看,null值表示一个空对象指针,而这正是使用typeof操作符检测null值时会返回”object”的原因,如例所示

    var car =null;
    console.log(typeof car);//object

    Boolean类型

    Boolean类型是使用的最多的一种类型,该类型只有俩个字面值:true和false。这两个值与数字值不是一回事,因此true不一定等于1,而false也不一定等于0.

    需要注意的是,Boolean类型的字面值true和false是区分大小写的。

    要将一个值转换为Boolean值,可以调用转换函数Boolean(),如例:

    var message = "hello word";
    var messageBool = Boolean(message);

    Number类型

    浮点数值:所谓浮点数值,就是该数值中必须包含一个小数点,并且小数点后面必须至少有一个为数字。对于那些极大或极小的数值,可以用e表示(即科学计数法)表示的浮点数值表示。用e表示法表示的数值等于e前面的数据乘以10的指数次幂。如例

    var floatNum=3.125e7    //等于31250000

    数值范围:由于内存的限制,JavaScript并不能保存所有的数值。能够表示最小的数值存在Number.MIN_VALUE中——大多数浏览器中,这个值是5e-324;能够表示的最大数据保存在Number.MAX_VALUE中——大多数 浏览器中,这个值是 1.797631348623157e+308。如果计算结果超出JavaScript数值范围的值,那么这个值将会被转为正无穷或负无穷,具体要看这个数值是正数还是负数。

    NAN,非数值,是一个特殊的数值,这个数值用户表示一个本来要返回数值的操作数未返回数值的情况(这样就不会抛异常了),例如,在其他编程语言中,任何数除以0都会抛出异常,但在JavaScript中,任何数值除以0都会返回NaN,因此不会影响其它代码的执行。

        NaN本身有俩个特点:

                                  1.任何涉及NaN的操作都会返回NaN,如:NaN/10.

                                  2.NaN与任何之都不相等,包括NaN本身。

        针对NaN俩个特点,JavaScript定义了isNaN()函数,用来判断参数是否是数值类型。

    数值转换:有三个函数可以把非数值转换为数值:

                       1.Number(),可转换任何类型

                       2.parseInt(),仅用于字符串转换

                       3.parseFloat(),仅用于字符串转换

    数值转换规则:

    1. 如果是Boolean值,true和false将分别被转换为1和0。
    2. 如果是数字值,只是简单的传入和返回。
    3. 如果是null值,返回0。
    4. 如果是undefined,返回NaN。

    如果是字符串,遵循以下规则:

    1. 如果字符串中只包含数字,则将其将其转换为数值
    2. 如果字符串中包含有效的浮点格式,则将其转换为对应的浮点数值
    3. 如果字符串中包含有效的十六进制格式,则将其转换为相同大小的十进制整数
    4. 如果字符串是空的,则将其转换为0
    5. 如果是对象,则调用对象的valueOf()方法,然后依照前面的规则转换返回的值。如果转换的是结果是NaN,则调用对象的toString()方法,然后再依照前面的规则转换返回的字符串值。

        

    String类型

    1.字符字面量

    String数据类型包含一些特殊的字符字面量,也叫转义序列,用来表示非打印字符,或者具有其他用户的字符。如表格所示:

    字面量 含义
    换行
    制表
     空格
    回车
    f 进纸
    \ 斜杠
    单引号

    双引号
     
       

    Object类型

    Object的每个实例都有下列的属性和方法:

    • Constructor:保存着用户创建当前对象的函数。
    • hasOwnProperty(propertyName):用于检查传入的参数是否在当前对象实例中。如:o.hasOwnProperty("name")
    • _sPrototypeOf(object):用于检查传入的对象是否是另一个对象的原型
    • propertyIsEnumerable(propertyName):用于检查给定的属性是否能否使用for-in语句来枚举。与hasOwnProperty一样
    • toLocaleString():返回对象的字符串表示,该字符串与执行环节的地区对应。
    • valueOf():返回队形的字符串、数值或布尔值表示,通常与toString()方法的返回值相同。
  • 相关阅读:
    Delphi/XE2 使用TIdHttp控件下载Https协议服务器文件[转]
    [Delphi]实现使用TIdHttp控件向https地址Post请求[转]
    让PowerShell用上Git
    解答WPF中ComboBox SelectedItem Binding不上的Bug
    那么小伙伴么,问题来了,WPF中,控件的Width="*"在后台怎么写?
    WPF Adorner+附加属性 实现控件友好提示
    关于Mvvm的一些深入理解
    第一个WP8程序,照相机
    夜深了,我们为什么加班(转载)
    Linux学习-SRPM 的使用 : rpmbuild (Optional)
  • 原文地址:https://www.cnblogs.com/oneweek/p/8005523.html
Copyright © 2011-2022 走看看