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

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

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

  

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>JavaScript中的强制类型转换</title>
</head>
<body>
<center>
<h1>JavaScript中的强制类型转换</h1>
<hr>
<br>
<h5>显示如下变更信息……</h5>
<pre>
<script>
var str = '100';//声明一个字符串变量str,初始值是“100”
var num = Number(str);//用number强制类型转换将str转换为数字类型并赋值给num变量 document.writeln(typeof(num) + ':' + num);//打印num的类型和值
var obj = Object(str);//用object强制类型转换将str转换成对象类型并赋值给obj变量 document.writeln(typeof(obj) + ':' + obj);//打印obj的类型和值
var bool = Boolean(str);//用Boolean强制类型转换将str转换成布尔类型并赋值给bool变量 document.writeln(typeof(bool) + ':' + bool);//打印bool的类型和变量
document.writeln();
var num = 100 ;//声明一个字符串变量num,初始值为100
var str = String(num);//用string强制类型转换将num转换为字符类型并赋值给str变量 document.writeln(typeof(str) + ':' + str);
var bool = Boolean(num); document.writeln(typeof(bool) + ':' + bool);
var obj = Object(num); document.writeln(typeof(obj) + ':' + obj);
document.writeln();
var bool = true;
var str = String(bool); document.writeln(typeof(str) + ':' + str);
var num = Number(bool); document.writeln(typeof(num) + ':' + num);
var obj = Object(bool); document.writeln(typeof(obj) + ':' + obj);
document.writeln;
var obj = {};
var str = String(obj); document.writeln(typeof(str) + ':' + str);
var num = Number(obj); document.writeln(typeof(num) + ':' + num);
var bool = Boolean(obj); document.writeln(typeof(bool) + ':' + bool);
</script>
</pre>
</center>
</body>
</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. 使用 CSS 根据兄弟元素的个数来调整样式

    在某些场景下,我们需要根据兄弟元素的总数来为它们设置样式.最常见的场景就是,当一个列表不断延长时,通过隐藏控件或压缩控件等方式来节省屏幕空间,以此提升用户体验. 为保证一屏内容能展示更多的内容,需要将 ...

  2. 20165302 2017-2018-2《Java程序设计》课程总结

    20165302 2017-2018-2<Java程序设计>课程总结 每周作业汇总 预备作业1 对师生关系的看法 预备作业2 C语言基础调查 预备作业3 安装虚拟机,初步学习虚拟机及常用命 ...

  3. python自动化之models 进阶操作二

    ################################################################## # PUBLIC METHODS THAT ALTER ATTRI ...

  4. c++——深拷贝和浅拷贝

    深拷贝和浅拷贝 默认复制构造函数可以完成对象的数据成员值简单的复制 对象的数据资源是由指针指示的堆时,默认复制构造函数仅作指针值复制 1浅拷贝问题 1.c++默认的拷贝构造函数 2.=号操作符 都是浅 ...

  5. HDU变形课

    变形课 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 131072/65536 K (Java/Others)Total Submis ...

  6. kubernetes 日志定制查阅 - 排错 -- 好用的命令

    You can use kubectl logs to retrieve logs from a previous instantiation of a container with --previo ...

  7. STM32定时器输出PWM频率和步进电机控制速度计算

    1.STM32F4系列定时器输出PWM频率计算 第一步,了解定时器的时钟多少: 我们知道AHP总线是168Mhz的频率,而APB1和APB2都是挂在AHP总线上的. (1)高级定时器timer1, t ...

  8. DB2创建表、操作表等常用命令

    转载:http://hi.baidu.com/ufobject/item/7fd03aeebf7be1266dabb881 一.创建库表 1.创建库 1).创建数据语句 CREATE DATABASE ...

  9. redis 基本数据类型-字符串(String)

    不瘦原来对redis也是有个大概的了解(就你知道的多), 但是最近和大神聊天的过程中才明白自己知道的简直就是鸡毛蒜皮(让你得瑟),所以不瘦打算从头在捋一遍,顺便把过程也记录下来,如果能给大家在学习re ...

  10. Linux 和 ubuntu安装redis

    Linux 下安装reids 下载地址:http://redis.io/download,下载最新稳定版本. 本教程使用的最新文档版本为 2.8.17,下载并安装: $ wget http://dow ...