《JavaScript基础与案例开发详解》__读书笔记
一:算法
算法:算法被称为计算机的基础,他是一个起源于数学的概念。算法描述了在有限的步骤内求解一问题的一组规则。一个算法应该具有以下5个重要的特征。
1.输入:必须有零个或多个输入量。
2.输出:应有一个或多个输出量,输出量是算法计算的结果。
3.确定性:算法的描述必须无歧义,已保证算法的执行结果是确定的。
4.有限性:算法必须在有限步骤内实现。
5.有效性:又称为可行性。能够实现。算法中描述的操作都可以通过执行有限次已经实现的基本运算来实现。
算法是计算机处理信息的本质,因为计算机程序本质上是一个算法,来告诉计算机如何执行一个指定的任务。
二:变量
变量的声明语法: var 变量名;
变量的赋值语法:变量名=值;
变量的声明与赋值和二为一的语法: var 变量名=值;
三:数据分类
九种数据类型:1.未定义(Undefined) 2.空(Null) 3.布尔(Boolean) 4.字符串(String) 5.数值(Number) 6.对象(Object) 7.引用(Reference) 8.列表(List) 9.完成(Completion) 其中后3中仅作为JavaScript运行时中间结果的数据类型,而不能在代码中使用。
注:typeof运算符能查看一个变量的所属类型。
基本类型:1.Undefined:是未定义类型,这个类型只有一个值,undefined。任何未被赋值过的变量,也就是只声明过的变量,都有一个undefined值。
2.Null:空,这个类型只有一个值,就是null。null是一个占位符,表示一个变量已经有值,但值为空。当变量不在被使用时,将变量赋值为null,以释放存储空间。
3.Boolean:布尔类型,这个类型有两个标准值:True(真)和False(假)。
4.String:字符串类型。有0个或者多个16位无符号整数组成的有限序列。
5.Number:数值类型。数值类型为64位双精度浮点类型。
注:Number类型有三个特殊常量值:NaN,+Infinity,-Infinity。下面详细介绍:
(1)NaN:全称(Not a Number),非数值常量表示一个值并不是合法的数值形式,它通常用来验证一个变量的值是不是数值形式。虽然NaN是系统提供的常量,但通常不与它进行直接比较,而且这种比较也是无法得到正确结果的。要想得到正确结果应该使用isNaN函数进行判断,例如:
var str='abcd';
alert(isNaN(str));
(2)+Infinity:正无穷常量表示一个数值表达式的计算结果是无穷大。大于或等于2的1024次方的数为无穷。
(3)-Infinity:负无穷常量表示一个数值表达式的计算结果是无穷小。小于或等于2的1024次方的数为无穷。
四:类型转换
(1)隐式转换:在数据运算过程中,系统自动把不同的基本数据类型转换成相同类型进行运算。
(2)显式转换:
1.ParseInt:转换成整数的函数。只能对字符串类型进行转换其他类型的转换结果都将得到NaN。PaseInt的转换过程是:从字符串的第一个字符开始依次进行判断,如果发现字符不是数字字符,那么将停止转换,例如:(“123a4”)的转换结果就是123。如果字符串的第一个字符是除了减号(-)【表示负数】 外的任何非数字字符,那么将得到NaN的结果。
2.ParseFloat:转换成小数的函数。
3.转换成字符串类型:转换成字符串类型很简单,只需使用连接符号“+”连接一个字符串类型的值,就能将其他类型的值拼接成新的字符串。
4.转换成布尔类型:
| 数据类型 | 布尔值为假时的值 | 布尔值为真时的值 |
| Undefined | Undefined | 无 |
| Null | null | 无 |
| String | ‘’ | 非空字符串 |
| Number | 0或者NaN | 非0 |
| Object(引用类型) | Null | 非空对象 |
五:转译字符
| 转译字符 | Unicode | 含义 |
| \b | \u0008 | 退格 |
| \t | \u0009 | 横向跳到下一个制表位置 |
| \n | \u000A | 回车换行 |
| \v | \u000B | 竖向跳到下一个制表位置 |
| \f | \u000C | 走纸换页 |
| \r | \u000D | 回车 |
| \" | \u0022 | 双引号符 |
| \' | \u0027 | 单引号符 |
| \\ | \u005C | 反斜杠符 |
| \xnn | 十六进制代码nn(n是0到F中的一个十六进制数字)表示的字符 | |
| \xnnnn | 十六进制代码nnnn(n是0到F中的一个十六进制数字)表示的Unicode |
六:运算符
在JS除法中,即使两个操作数都是整数,当无法整除时,结果是一个小数而不是整数。当除数为0时,并不会引发程序错误,而是得到一个infinity的结果。
1.%:取模运算符类似于一个除法运算符,需要两个操作数,除数和被除数。返回余数。通常用来判断一个数是否能被整除。
2.++/--:自增/自减运算符,需要一个操作数,必须是变量。对操作数加1或减1,分为前缀和后缀两种用法。
3.+value/-value:变量取正/负运算符,只需要一个操作数,可以使常量。正/负符号最有用的地方在于可以很容易地将字符串类型的值转换为数值类型。
七:赋值运算符
| 运算符 | 含义 | 分解表达式 |
| = | 赋值 | a=b |
| += | 相加后赋值 | a=a+b |
| -= | 相减后赋值 | a=a-b |
| *= | 相乘后赋值 | a=a*b |
| /= | 相除后赋值 | a=a/b |
| %= | 取模后赋值 | a=a%b |
| <<= | 向左位移后赋值 | a=a<<b |
| >>= | 向右位移后赋值 | a=a>>b |
| >>>= | 无符号按位右移后位移 | a=a>>>b |
关系运算符
关系运算符是对两个操作数进行关系判断,并产生布尔结果的一种运算符。
| 运算符 | 含义 |
| < | 小于 |
| > | 大于 |
| == | 等于 |
| === | 严格等于(除了进行值判断还进行类型的判断) |
| <= | 小于等于 |
| >= | 大于等于 |
| != | 不等于 |
| !== | 严格不等于(除了进行值判断还进行类型的判断) |

浙公网安备 33010602011771号