经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » JSJS库框架 » JavaScript » 查看文章
初识JS
来源:cnblogs  作者:BoxIn  时间:2018/10/12 9:39:17  对本文有异议

  初入前端,大家都一致追捧一本书,这本被大家称之为红宝书的书,名字叫做《JavaScript高级程序设计》。我的印象中俞敏洪也曾写过一本叫做红宝书的书,以前考研的时候政治也有一本红宝书。既然都被称为红宝书了,那我就从这入门吧,前端大牛多,我这个大龄初生牛犊就来好好跟大家记录一下这本书的笔记,向着大牛的方向追赶下去,希望在不远的几年,也能成长为论坛里别的新手眼中的“大牛”吧。

  好了,废话到此为止。

  这本书,前两章是可以不记的,用作浏览。让我们从第三章——语法部分开始。

 

  # 数据类型

    用 typeof 操作符查看数据类型。

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

 

  # 数值转换

  3个函数可以有此功能

  • Number()        可以用于 任何数据类型
  • parseInt()        专门用于把字符串转换为数值
  • parseFloat()    专门用于把字符串转换为数值

一个个的说。

 

  • Number()

先说 Number(),它的转换规则如下

  1. 如果是 Boolean 值,true 和 false 将分别被转换为 1 和 0.
  2. 如果是数字值,那就只是简单的传入和返回
  3. 如果是 null ,返回 0
  4. 如果是 undefined ,返回 NaN
  5. 如果是字符串,要遵循下面的规则
    • 如果字符串中只是包含数字(包括前面带正号或负号的情况),则将其转换为十进制数值,即 “1” 会变成 1, “123” 会变成 123, 而 “011” 会变成 11(前面的 0 会被忽略)
    • 如果字符串中含有有效的浮点格式,如 “1.1” ,则将其转化为对应的浮点数值
    • 如果字符串中包含有效的十六进制格式,例如 “0xf” ,则将其转化为相同大小的十进制整数值
    • 如果字符串是空的(不包含任何字符),则将其转化为0
    • 如果字符串包含除上述格式之外的字符串,则将其转化为 NaN

 

  给个例子

  1. var num1 = Number("Hello world!"); //NaN
  2. var num2 = Number(""); //0
  3. var num3 = Number("000011"); //11
  4. var num4 = Number(true); //1

 

  • parseInt ()

由于呢,Number()函数在转换字符串时比较复杂,而且不够合理,因此,在处理整数的时候,更常用的是 parseInt () 函数。

parseInt () 在转换字符串时,更多的是看它是否符合数值模式。它会忽略字符串前面的空格,直到找到第一个非空格字符。

如果第一个字符不是数字字符或者符号, parseInt () 就会返回 NaN。如果第一个字符是数字字符,parseInt () 就会继续解析第二个字符,直到解析完所有的后续字符,或者遇到了一个非数字字符。

例如,“1234blue” 会被转换成 1234 , 因为 “blue” 会被忽略。类似的, “22.5” 会被转换成 22, 因为小数点不是有效的数字字符。

几个 parseInt ()例子

  1. var num1 = parseInt("1234blue"); //1234
  2. var num2 = parseInt(""); //NaN
  3. var num3 = parseInt("0xA"); //10 八进制
  4. var num4 = parseInt(22.5); //22
  5. var num5 = parseInt("70"); //70 十进制
  6. var num6 = parseInt("0xf"); //15 十六进制

 

  • parseFloat ()

和 上面的 parseInt () 类似。

 

  1. var num1 = parseFloat("1234blue"); //1234 - integer
  2. var num2 = parseFloat("0xA"); //0
  3. var num3 = parseFloat("22.5"); //22.5
  4. var num4 = parseFloat("22.34.5"); //22.34
  5. var num5 = parseFloat("0908.5"); //908.5
  6. var num6 = parseFloat("3.125e7"); //31250000

 

 

  • toString ()

转换为字符串

要把一个值转换为一个字符串,有两个办法。

1. 使用几乎每个值都有的 toString () 方法,该方法要做的是返回相应值的字符串表现。

  1. var age = 11;
  2. var ageAsString = age.toString(); //the string "11"
  3. var found = true;
  4. var foundAsString = found.toString(); //the string "true"

 

数值、布尔值、对象、字符串值,都有 toString() 方法。但 null 和 undefined 值没有这个方法。

多数情况下,调用 toString() 方法不必传播参数。但是,在调用数值的 toString() 方法时,可以传递 “输出数值的基数” 为参数。

  例如

  1. 1 var num = 10;
  2. 2 alert(num.toString()); //"10"
  3. 3 alert(num.toString(2)); //"1010"
  4. 4 alert(num.toString(8)); //"12"
  5. 5 alert(num.toString(10)); //"10"
  6. 6 alert(num.toString(16)); //"a"

 

通过制定的基数,可以改变 toString() 输出的值

 

  • String ()

能够将任何类型的值转换为字符串。包括 null 或 undefined

规则如下

    • 如果值有 toString() 方法,则调用该方法(没有参数)并返回相应的结果
    • 如果值是 null ,就返回 “null”
    • 如果值是 undefined ,就返回 “undefined”
  1. 1 var value1 = 10;
  2. 2 var value2 = true;
  3. 3 var value3 = null;
  4. 4 var value4;
  5. 5
  6. 6 alert(String(value1)); //"10"
  7. 7 alert(String(value2)); //"true"
  8. 8 alert(String(value3)); //"null"
  9. 9 alert(String(value4)); //"undefined"

 

 

PS: 要把某个值转换为字符串,可以使用加号操作符,把它与一个字符串(“ ”)加在一起。

 

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号