码迷,mamicode.com
首页 > Web开发 > 详细

JS高级程序设计学习笔记之第三章基本概念(语法,数据类型,流控制语句,函数)——查漏补缺

时间:2016-08-06 20:33:53      阅读:156      评论:0      收藏:0      [点我收藏+]

标签:

一、语法:

  1. 区分大小写

      2.标识符:就是指变量、函数、属性的名字,或者函数的参数
    a、标志符的规则:①第一个字符必须是一个字母、下划线(_)或一个美元符号($)。
                        ②其他字符可以是字母,下划线,美元符号或者数字。
    b、标志符采用驼峰大小写格式。
    c、严格模式:在顶部添加以下代码:"use strict";
    d、语句:结尾加入分号、在控制语句中使用代码块为最佳实践。


二、关键字与保留字


三、变量:ECMAScript的变量是松散类型,可以保存任何类型的数据。且在初始化变量时,不会为它标记类型。
     1、不建议修改变量所保存值得类型,但这种操作是有效的
   2、使用var操作符定义的变量为局部变量。函数退出后会被销毁。
   3、不推荐省略var操作符来定义全局变量。如果有意的忽略var操作符,也会由于相应变量不会马上就有定义而导致不必要的混乱。给未经声明的变量赋值在严格模式下会报错。

四、数据类型:ECMAScript有5种简单数据类型(基本数据类型)——Undefined、Null、Boolean、Number、和String。一种复杂数据类型——Object。

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

    undefined——如果这个值未定义;
    boolean——如果这个值是布尔值;
    string——如果这个值是字符串;
    number——如果这个值是数值;
    object——如果这个值是对象或者null;
    function——如果这个值是函数;

  2.undefined类型:
    a、在使用var声明变量但未对其加以初始化时,这个变量的值就是undefined。(默认取得)。
    b、对于尚未声明的变量,只能执行一项操作,使用typeof操作符检测其数据类型。返回undefined。
    c、尽可能显式的初始化变量,这样当ytpeof返回undefined时,我们就知道 被检测的变量还没有被声明,而不是尚未初始化。

  3、null类型:
    a、如果定义的变量准备在将来用于保存对象,那么最好将变量初始化为null而不是其他值。
    b、undefined的值是派生自null的,所以他们的相等性测试返回true。(双等返回true,三等返回false)。

  4、boolen类型:
    a、Boolean类型的字面量true和false是区分大小写的。其他写法都不是Boolean值,只是标志符。
    b、ECMAScript中所有类型的值都有与这两个Boolean值等价的值。要将一个值转换成对应的Boolean值,可以调用转型函数Boolean()。

数据类型 转换为true的值 转换为false的值
Boolean true false
string 任何非空字符串 空字符串
number 任何非零数值(包括无穷大) 0和无穷大
object 任何对象 null
undefined 不适用 undefined

 

  5、number类型:
    a、八进制字面量的第一位必须是零(0),然后是八进制数字序列。如果字面值中的数值超出了范围,那么前导零将被忽略,后面的数值被当做十进制数值解析。八进制字面量在严格模式下无效。
    b、十六进制字面量的前两位必须是0x,后跟任何十六进制数字0~9和a~z,字母可大写可小写。
    c、在进行算术计算时,所有八进制与16进制表示的数最终都被转换成十进制
    d、浮点数值:
      ①数值中必须包含一位小数点,小数点后必须至少有一位数字。小数点前可以没有整数,但是不推荐。浮点数值若能转换为整数值,那么会被转换。
      ②极大极小值用e表示法。
      ③浮点数的精度有bug,所以不要测试某个浮点数的值
    e、数值范围:超出js数值范围的值会被自动转换成Infinity。Infinity无法参与计算。isFinite()函数在参数位于最大最小值之间时会返回true。
    f、NaN:用来表示一个本来要返回数值的操作数未返回数值的情况。
      ①任何涉及NaN的操作,都返回NaN。NaN与任何值都不相等,包括他本身。
      ②isNaN()函数接收一个参数,该参数可以是任何类型,函数会尝试将参数转换为数值,任何不能被转换为数值的值都会导致函数返回true。该函数适用于对象,先调用对象的valueOf()方法,然后确定该方法返回的值能否转换为数值。若不能,则基于这个返回值再调用toString()方法,再测试返回值。
    g、数值转换:
      ①Number():用于任何数据类型
        如果是Boolean值,true和false分别返回1和0。
        如果是数值,简单地传入返回。
        如果是null,返回0。
        如果是undefined,返回NaN。
        如果是字符串:
          如果字符串只包含数字(无论正负),将其转换为十进制,忽略前导零。
          如果字符串包含有效浮点格式,转换成对应浮点格式,忽略前导零。
          如果字符串包含有效16进制,将其转换为相同大小的十进制整数值。
          如果字符串为空,将其转换为0。
          如果字符串包含除上述格式之外的字符,则将其转换为NaN。
        如果是对象:调用valueOf()方法,然后依照前面的规则转换返回值。如果转换结果是NaN,则调用toString()方法,然后再次依照前面规则转换。



    

JS高级程序设计学习笔记之第三章基本概念(语法,数据类型,流控制语句,函数)——查漏补缺

标签:

原文地址:http://www.cnblogs.com/wangkaiyuan/p/5744710.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!