因为没有学过其他编程语言,因此作为我的第一门编程“母语”我在这就不举其他编程语言的例子了,JavaScript这个动态类型脚本语言的变量号称是没有类型的,那么我们怎么转换他的变量呢?而且还要强行转换。

  JavaScript的变量的确是没有类型的,就是说你用var声明变量后,可以随便给变量赋值,不会有任何问题。可是赋给变量的值本身自己是有类型地,例如String,Object,Boolean和Number等。所以JavaScript的变量本身还是有类型转换的,当然很多时候JavaScript解析引擎会默认处理很多的类型转换。不过有时候也需要强行转换数据类型,最常见的就是:“”+数字 +数字,这种情况会生成字符串累加。

  • Number函数,可以将数值字符串,对象,和布尔型变量强制转换成数字型的。
  • Object函数,可以将数值字符串,数字,和布尔型变量强制转换成对象型的。
  • String函数,可以将数字,对象,和布尔型变量强制转换成字符串型的。
  • Boolean函数,可以将数值字符串,对象,和数字型变量强制转换成布尔型的。

  

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6. <meta http-equiv="X-UA-Compatible" content="ie=edge">
  7. <title>JavaScript中的强制类型转换</title>
  8. </head>
  9. <body>
  10. <center>
  11. <h1>JavaScript中的强制类型转换</h1>
  12. <hr>
  13. <br>
  14. <h5>显示如下变更信息……</h5>
  15. <pre>
  16. <script>
  17. var str = '100';//声明一个字符串变量str,初始值是“100”
  18. var num = Number(str);//用number强制类型转换将str转换为数字类型并赋值给num变量
  19.  
  20. document.writeln(typeof(num) + ':' + num);//打印num的类型和值
  21. var obj = Object(str);//用object强制类型转换将str转换成对象类型并赋值给obj变量
  22.  
  23. document.writeln(typeof(obj) + ':' + obj);//打印obj的类型和值
  24. var bool = Boolean(str);//用Boolean强制类型转换将str转换成布尔类型并赋值给bool变量
  25.  
  26. document.writeln(typeof(bool) + ':' + bool);//打印bool的类型和变量
  27. document.writeln();
  28. var num = 100 ;//声明一个字符串变量num,初始值为100
  29. var str = String(num);//用string强制类型转换将num转换为字符类型并赋值给str变量
  30.  
  31. document.writeln(typeof(str) + ':' + str);
  32. var bool = Boolean(num);
  33.  
  34. document.writeln(typeof(bool) + ':' + bool);
  35. var obj = Object(num);
  36.  
  37. document.writeln(typeof(obj) + ':' + obj);
  38. document.writeln();
  39. var bool = true;
  40. var str = String(bool);
  41.  
  42. document.writeln(typeof(str) + ':' + str);
  43. var num = Number(bool);
  44.  
  45. document.writeln(typeof(num) + ':' + num);
  46. var obj = Object(bool);
  47.  
  48. document.writeln(typeof(obj) + ':' + obj);
  49. document.writeln;
  50. var obj = {};
  51. var str = String(obj);
  52.  
  53. document.writeln(typeof(str) + ':' + str);
  54. var num = Number(obj);
  55.  
  56. document.writeln(typeof(num) + ':' + num);
  57. var bool = Boolean(obj);
  58.  
  59. document.writeln(typeof(bool) + ':' + bool);
  60. </script>
  61. </pre>
  62. </center>
  63. </body>
  64. </html>

摘自《JavaScript实力精通》

JavaScript-强制类型转换的更多相关文章

  1. JS基础_强制类型转换-String

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  2. JavaScript学习10 JS数据类型、强制类型转换和对象属性

    JavaScript学习10 JS数据类型.强制类型转换和对象属性 JavaScript数据类型 JavaScript中有五种原始数据类型:Undefined.Null.Boolean.Number以 ...

  3. javascript中强制类型转换

    javascript开发过程中,强制类型转换一般发生在条件判断和==运算符.其他情况,发生的类型转换(与这两种情况也是基本类似,属于万变不离其宗的范畴),暂不讨论. == 双等运算符 考虑代码: a ...

  4. 《你不知道的JavaScript》整理(六)——强制类型转换

    JavaScript中通常分为两种类型转换,"隐式强制类型转换"(implicit coercion)和"显式强制类型转换"(explicit coercion ...

  5. Javascript对象Oject的强制类型转换

    众所周知Javascript作为一种动态类型,弱类型的脚本语言其数据类型在很多时候都会发生类型转换.而这些类型转换往往都是隐式的,这让我们在使用Js的时候会产生许多麻烦.而Js的基础数据类型的转换在此 ...

  6. 谈 JavaScript 中的强制类型转换 (2. 应用篇)

    这一部分内容是承接上一篇的, 建议先阅读谈 JavaScript 中的强制类型转换 (1. 基础篇) 前两章讨论了基本数据类型和基本包装类型的关系, 以及两个在类型转换中十分重要的方法: valueO ...

  7. 带你玩转JavaScript中的隐式强制类型转换

    正题开始前我想先抛出一个问题,==和===有什么区别?可能一般人会想,不就是后者除了比较值相等之外还会比较类型是否相等嘛,有什么好问的,谁不知道?!但是这样说还不够准确,两者的真正区别其实是==在比较 ...

  8. 详细理解javascript中的强制类型转换

    将值从一种类型转换为另一种类型通常称为类型转换,这是显式的情况:隐式的情况称为强制类型转换,JavaScript 中的强制类型转换总是返回标量基本类型值,如字符串.数字和布尔值. 如何理解: 类型转换 ...

  9. javascript的强制类型转换

    1.toString (1)调用toString方法 Array是将数组中的每个元素字符串化,并使用逗号拼接起来 object返回的是内部属性[[Class]]的值,[object Object] n ...

  10. javascript之强制类型转换

    在javascript中,常会发生强制类型转换的情况有以下几种 字符串拼接 var a = 1; var b = a + '1'; console.log(b); //11 ==运算符 var a = ...

随机推荐

  1. springmvc入门之HelloWorld篇

    springmvc是一个基于spring的mvc框架,各种优点啥的用过就知道了.下面开始讲HelloWorldController的实现. 1.开发环境搭建<导jar包+配置文件> 1.1 ...

  2. Sequelize-nodejs-9-Scopes

    Scopes作用域 Scoping allows you to define commonly used queries that you can easily use later. Scopes c ...

  3. python基础整理2——Linux

    Linux 目录 /:根目录,一般根目录下只存放目录 /bin./usr/bin: 可执行二进制文件的目录,如常用的命令ls.tar.mv.cat等 /boot:放置linux系统启动时用到的一些文件 ...

  4. chrome://命令

    一些常用的命令: chrome://version 显示当前版本 chrome://flags 实验项目,加“#项目名称”锚点可以直接定位到项目 chrome://settings 设置,下图是设置定 ...

  5. java基础 三 概念和java程序的结构.

    一.java的一些概念: JRE(java  runtime environment):java程序运行环境,如果要运行java程序,需要jre支持.jre里包含jvm JDK(java  devel ...

  6. windows 下nginx配置php支持

    修改nginx配置 location ~ \.php$ { root D:/Learn/php/test/; fastcgi_pass ; fastcgi_index index.php; fastc ...

  7. 在存放源程序的文件夹中建立一个子文件夹 myPackage。例如,在“D:\java”文件夹之中创建一个与包同名的子文件夹 myPackage(D:\java\myPackage)。在 myPackage 包中创建一个YMD类,该类具有计算今年的年份、可以输出一个带有年月日的字符串的功能。设计程序SY31.java,给定某人姓名和出生日期,计算该人年龄,并输出该人姓名、年龄、出生日期。程序使用YM

    题目补充: 在存放源程序的文件夹中建立一个子文件夹 myPackage.例如,在“D:\java”文件夹之中创建一个与包同名的子文件夹 myPackage(D:\java\myPackage).在 m ...

  8. ping不通linux服务器排查

    很久没启动linux了,今天打开试了下 ssh  root@192.168.229.128 ping 一直超时 老规矩挨着来排查 检查网络设备器改为Net 模式 重启网络服务 service netw ...

  9. fdisk与parted分区

    我所接触的linux分区分为两种,一种是使用fdisk分区,另外一种是parted分区.前者是针对MBR模式分区的,后者是针对GPT模式分区的 fdisk分区: fdisk -l ---->查看 ...

  10. Angular7教程-01-Angular开发环境配置

    本教程基于angular7(2018-11-04) 1. 安装node.js 下载地址: http://nodejs.cn/download/ 下载对应自己操作系统的版本安装即可. 2.安装 angu ...