标签:
一、语法:
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