初识JavaScript(2)——基本概念

 

语法:

  • 区分大小写

  • 标识符

    • 指变量、函数、属性的名字,或者函数的参数。
    • 第一个字符——必须是字母、下划线、或者美元$符号
    • 其他字符可是是字母、数字、下划线、$等。
    • 一般采用驼峰命名命名法(readBookAll)。
  • 注释

    • 单行注释:// ..........................
    • 多行注释:/*。。。。。。*/
  • 严格模式

    • use strict
    • 整个脚本采用严格模式,可在顶部文件中添加该代码。也可以指定函数在严格模式下执行。 
" user strict"

             

关键词和保留字

  • 关键字

    • 用户控制语句的开始或者结束,或者用于之子那个某个操作。不可以用作标识符。

    • break\do\instanceof\typeof\var\case\else\new\catch等等

  • 保留字

    • 无特定用途,有可能以后被用来作为关键字
    • abstract\enum\int\short\export\final\public\const\let\yield等等
  • 备注

    • 如果使用关键字作为标识符,会导致“Identifier Expected”,如果使用保留字不会出现该问题。
    • 除此之外,eval/arguments也不可以作为标识符。

数据类型

  • typeof操作符——检测给定变量的数据类型。

    • undefined——值没定义
    • boolean——布尔值
    • string——字符串
    • number——数值
    • object——对象或者null
    • function——函数
  • undefined

    • 变量已经声明但是没有初始化。
    • 对于声明没有定义,以及没有声明直接使用的,typeof都为undefined。
  • null

    • 空对象指针
    • typeof = object
    • 如果定义的变量用来储存对象,可初始化为:null.
    • null == undefied 为 true
  • boolean

    • true不一定为1,false不一定为0。true,false区分大小写。
    • 0、NaN = false,null = false,"" = false,undefied = false,任何对象都为true。
  • number

    • 浮点数值
      • 储存空间是整数值的两倍,因此ECMAScript一般会自动将浮点数转换为整数值。(小数点后无数字)
      • 最高精度是17位小数。
      • 精确度不如整数(0.1 + 0.2 == 0.3  ——false)。0.1+0.2 = 0.30000000000000004;
      • 浮点数值的计算会产生舍入误差的问题,一般不会将浮点数值计算作为筛选条件。
    • 数值范围
      • 最小值:Number.MIN_VALUE(5e-324);最大值:Number_MAX_VALUE(1.7976931348623157e + 308);(_Infinity, Infinity)
      • isFinite(),在最大最小两值之间为true。
    • NaN
      • 表示本俩返回数值但是没有返回数值的情况。
      • 0/0 = NaN;正数/0 = Infinity;负数/0 = -Infinity;
      • 任何涉及NaN的操作,都会返回NaN
      • NaN == NaN  为false
      • isNaN()函数,也适用于对象。
        • 对象调用isNaN时候,会首先调用对象的valueOf方法,确定方法返回值是否可以转为数值,如果不能的话,则基于这个返回值再调用toString方法,测试返回值。这个过程就是ECMAScript中内置函数和操作符的一把执行流程。
    • 数值转换 
      • Number()
        • true=1,false=0
        • null= 0
        • undefined = NaN
        • 字符串
          • ‘011 ’ = 11
          • ‘123’ = 123
          • ‘123Bshdj’ = 123
          • '1.23' = 1.23
          • '0xf' = 十进制数值
          • 'asvabsn' = NaN
          • ' ' = 0
        • 对象
          • valueOf - toString——无返回值为NaN。
      • parseInt()
        • 常用于转换字符串,整数。(Number()转换字符串逻辑较复杂)
        • 它会忽略前面的空格,直接查找第一个非空字符,大部分返回值与Number类似。
        • ' ' = NaN
        • parseInt第二个参数,指定基数(几进制之类的)。(16、8)
          • parseInt('AF', 16) = 175;parseInt('AF') = NaN
      • parseFloat
        • 只解析十进制,无第二个参数,作为基数。
        • 十六进制始终解析为0
  • String

    • 字符字面量
      • 也叫转义序列,用于表示非打印字符,或者具有其他用途的字符。
      • \n 换行
      • \t 指表
      • \b 空格
      • \r 回车
      • \f 进纸
      • \\斜杠
      • \' 单引号 \''双引号
      • \xnn 以十六进制代码n表示一个字符,\x41 = A
      • \unnnn 以十六进制代码nnnn表示一个字符,\u03a3 ;
      •  6个字符长的转义序列表示一个字符。'\u03a3'.length = 1
    • 转换为字符串
      • toString()
        • undefined null 没有toString()方法。
      • String()
        • 本身存在toString方法的直接调用进行转换即可。
        • String(undefined) = undefined
        • String(null) = null
      • 加号操作符
  • object

    • var o = new Object()
    • constructor——保存着用于创建当前对象的函数,比如:Object()。
    • hasOwnProperty——用于检查给定属性是否在当前对象实例中。参数为字符串。o.hasOwnProperty('name')
    • isPrototypeOf(object)——用于检查传入的对象是都是传入对象的原型。
    • propertyIsEnumberable——用于检查给定属性是否能够使用for-in语句来枚举。参数字符串。
    • toLocalString——返回对象的字符串
    • toString ——返回对象的字符串
    • valueOf ——返回对象的字符串、数值、布尔值,通常与toString返回值一样。

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值