初识JS
初入前端,大家都一致追捧一本书,这本被大家称之为红宝书的书,名字叫做《javascript高级程序设计》。我的印象中俞敏洪也曾写过一本叫做红宝书的书,以前考研的时候政治也有一本红宝书。既然都被称为红宝书了,那我就从这入门吧,前端大牛多,我这个大龄初生牛犊就来好好跟大家记录一下这本书的笔记,向着大牛的方向追赶下去,希望在不远的几年,也能成长为论坛里别的新手眼中的“大牛”吧。
好了,废话到此为止。
这本书,前两章是可以不记的,用作浏览。让我们从第三章——语法部分开始。
# 数据类型
用 typeof 操作符查看数据类型。
- "undefined" 这个值未定义
- "boolean" 这个值是布尔值
- "string" 字符串
- "number" 数值
- "object" 对象 或者 null
- "function" 函数
# 数值转换
3个函数可以有此功能
- number() 可以用于 任何数据类型
- parseint() 专门用于把字符串转换为数值
- parsefloat() 专门用于把字符串转换为数值
一个个的说。
- number()
先说 number(),它的转换规则如下
- 如果是 boolean 值,true 和 false 将分别被转换为 1 和 0.
- 如果是数字值,那就只是简单的传入和返回
- 如果是 null ,返回 0
- 如果是 undefined ,返回 nan
- 如果是字符串,要遵循下面的规则
-
- 如果字符串中只是包含数字(包括前面带正号或负号的情况),则将其转换为十进制数值,即 “1” 会变成 1, “123” 会变成 123, 而 “011” 会变成 11(前面的 0 会被忽略)
- 如果字符串中含有有效的浮点格式,如 “1.1” ,则将其转化为对应的浮点数值
- 如果字符串中包含有效的十六进制格式,例如 “0xf” ,则将其转化为相同大小的十进制整数值
- 如果字符串是空的(不包含任何字符),则将其转化为0
- 如果字符串包含除上述格式之外的字符串,则将其转化为 nan
给个例子
var num1 = number("hello world!"); //nan var num2 = number(""); //0 var num3 = number("000011"); //11 var num4 = number(true); //1
- parseint ()
由于呢,number()函数在转换字符串时比较复杂,而且不够合理,因此,在处理整数的时候,更常用的是 parseint () 函数。
parseint () 在转换字符串时,更多的是看它是否符合数值模式。它会忽略字符串前面的空格,直到找到第一个非空格字符。
如果第一个字符不是数字字符或者符号, parseint () 就会返回 nan。如果第一个字符是数字字符,parseint () 就会继续解析第二个字符,直到解析完所有的后续字符,或者遇到了一个非数字字符。
例如,“1234blue” 会被转换成 1234 , 因为 “blue” 会被忽略。类似的, “22.5” 会被转换成 22, 因为小数点不是有效的数字字符。
几个 parseint ()例子
var num1 = parseint("1234blue"); //1234 var num2 = parseint(""); //nan var num3 = parseint("0xa"); //10 八进制 var num4 = parseint(22.5); //22 var num5 = parseint("70"); //70 十进制 var num6 = parseint("0xf"); //15 十六进制
- parsefloat ()
和 上面的 parseint () 类似。
var num1 = parsefloat("1234blue"); //1234 - integer var num2 = parsefloat("0xa"); //0 var num3 = parsefloat("22.5"); //22.5 var num4 = parsefloat("22.34.5"); //22.34 var num5 = parsefloat("0908.5"); //908.5 var num6 = parsefloat("3.125e7"); //31250000
- tostring ()
转换为字符串
要把一个值转换为一个字符串,有两个办法。
1. 使用几乎每个值都有的 tostring () 方法,该方法要做的是返回相应值的字符串表现。
var age = 11; var ageasstring = age.tostring(); //the string "11" var found = true; var foundasstring = found.tostring(); //the string "true"
数值、布尔值、对象、字符串值,都有 tostring() 方法。但 null 和 undefined 值没有这个方法。
多数情况下,调用 tostring() 方法不必传播参数。但是,在调用数值的 tostring() 方法时,可以传递 “输出数值的基数” 为参数。
例如
1 var num = 10; 2 alert(num.tostring()); //"10" 3 alert(num.tostring(2)); //"1010" 4 alert(num.tostring(8)); //"12" 5 alert(num.tostring(10)); //"10" 6 alert(num.tostring(16)); //"a"
通过制定的基数,可以改变 tostring() 输出的值
- string ()
能够将任何类型的值转换为字符串。包括 null 或 undefined。
规则如下
-
- 如果值有 tostring() 方法,则调用该方法(没有参数)并返回相应的结果
- 如果值是 null ,就返回 “null”
- 如果值是 undefined ,就返回 “undefined”
1 var value1 = 10; 2 var value2 = true; 3 var value3 = null; 4 var value4; 5 6 alert(string(value1)); //"10" 7 alert(string(value2)); //"true" 8 alert(string(value3)); //"null" 9 alert(string(value4)); //"undefined"
ps: 要把某个值转换为字符串,可以使用加号操作符,把它与一个字符串(“ ”)加在一起。
上一篇: 树-基本概念,遍历,表示法
下一篇: MySQL高可用之MHA切换测试