因为没有学过其他编程语言,因此作为我的第一门编程“母语”我在这就不举其他编程语言的例子了,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. Django 自定义模板标签和过滤器

    1.创建一个模板库 使用模板过滤器的时候,直接把过滤器写在app里,例如:在app里新建一个templatetags的文件夹,这个目录应当和 models.py . views.py 等处于同一层次. ...

  2. MySQL-5.6版本GTID的主从复制

    mysql GTID Replication 一.GTID的概述: 1.全局事物标识:global transaction identifieds. 2.GTID事物是全局唯一性的,且一个事务对应一个 ...

  3. 【目录】利用Python进行数据分析(第2版)

    第一章 准备工作 1.1 What Is This Book About(这本书是关于什么的) 1.2 Why Python for Data Analysis?(为什么使用Python做数据分析) ...

  4. IOS的滑动菜单(Sliding Menu)的具体写法(附代码)

    滑动菜单是一个很流行的IOS控件 先上效果图:        这里使用github的JTReveal框架来开发,链接是https://github.com/agassiyzh/JTRevealSide ...

  5. TensorFlow函数(九)tf.add_to_collection()、tf.get_collection() 和 tf.add_n()

    tf.add_to_collection(name, value) 此函数将元素添加到列表中 参数: name:列表名.如果不存在,创建一个新的列表 value:元素 tf.get_collectio ...

  6. Hive学习之路 (十九)Hive的数据倾斜

    1.什么是数据倾斜? 由于数据分布不均匀,造成数据大量的集中到一点,造成数据热点 2.Hadoop 框架的特性 A.不怕数据大,怕数据倾斜 B.Jobs 数比较多的作业运行效率相对比较低,如子查询比较 ...

  7. [翻译]怎么写一个React组件库(一)

    本文同步发布于知乎专栏 https://zhuanlan.zhihu.com/p/27401329,喜欢本文的就去知乎点个赞支持下吧- 引言 该系列文章将通过创建一个组件库来引导你学习如何构建自己的组 ...

  8. 20155314 2016-2017-2 《Java程序设计》第9周学习总结

    20155314 2016-2017-2 <Java程序设计>第9周学习总结 教材学习内容总结 了解JDBC架构 掌握JDBC架构 掌握反射与ClassLoader 了解自定义泛型和自定义 ...

  9. snip

    首先明确物体太小太大都不好检测(都从roi的角度来分析):   1.小物体: a.本身像素点少,如果从anchor的点在gt像素内来说,能提取出来的正样本少    b.小物体会出现iou过低.具体来说 ...

  10. Python内置函数locals和globals

    globals()和locals() locals()实际上没有返回局部名字空间,它返回的是一个拷贝.所以对它进行修改,修改的是拷贝,而对实际的局部名字空间中的变量值并无影响. globals()返回 ...