无论何时,从一种语言中调用另一种语言的时候,都必须考虑的问题是一种语言的类型如何映射到另一种语言的类型。假设把一个java.lang.String和一个java.lang.Integer变量绑定到一个Bindings对象中,当JavaScript脚本使用这些变量的时候,它所见到的值是什么类型的呢?如果脚本的计算结果是JavaScript布尔类型的值,eval()方法所返回的对象是什么类型的呢?
当把一个Java对象存储到一个Bindings对象时,它会根据以下方式转换为JavaScript:
1、Boolean对象转换为JavaScript布尔值。
2、所有java.lang.Number包装对象转换为javaScript数字。包括java的Byte\Short\Integer\Long\Float\Double,还有java.math.BigInteger和java.math.BigDouble。
注意:javascript的数值类型是基于64位的浮点数,和Java的双精度类型类似。并不是所有的long值都可以在一个double中精确地表示。因此,如果把一个Java中long型数据传递给JavaScript,可能会丢失数据。当使用BigInteger和BigDecimal的时候,同样要注意这个问题。即:如果Java值比JavaScript所能表示的值有更高的精度的话,后面的数字可能会丢失。或者,如果Java的值比Double.MAX_VALUE大,它将会转换为一个JavaScript的Infinity值。
3、java的Character和String对象转换为JavaScript字符串。
4、java空值转换为JavaScript的空值。
5、任何其它的Java对象都只是被包装到一个JavaScript的JavaObject对象中。有关JavaObject的介绍在JavaScript如何脚本化java中介绍。
当JavaScript类型转换为java数据类型时,转换如下:
1、JavaScript布尔值转换为java的Boolean对象。
2、JavaScript字符串转换为java的String对象。
3、JavaScript数字转换为java的Double对象。Infinity和NaN值也会适当适当的转换为java中的Infinity和NaN
4、JavaScript空值和未定义的值转换为Java空值。
5、JavaScript对象和数组转换为类型不明确的Java对象。这些值可以传递回给JavaScript,但却有一个专门供Java程序使用的未发布的API。
注意:String、Boolean和Number的JavaScript外包对象被转换为不明确的Java对象,而不是它们所对应的Java类型。
分享到:
相关推荐
java中数据类型转换.doc
javascript有两种数据类型的转换方法: (一)将整个值从一种类型转换为另一种数据类型(称作基本数据类型转换) (二)从一个值中提取另一种类型的值,并完成转换工作 基本数据类型转换的三种方法: 1.转换为字符...
Json是一种轻量级的数据交换格式,非常适合于服务器与 JavaScript 的交互。本demo将基本java数据类型转换 JSON 格式.
Java , JavaScript和C#度量和数据类型转换库。 20个完整的计量单位。 解析任何编程数据类型或转换分数而没有任何错误。 能够创建自己的自定义UnitOf测量值。 体积小(整个套件最小64kb),快速且易于使用,且...
javascript数据类型文章目录 一、javaScript 的几种数据类型 1、数字类型 2、字符串 3、布尔型 4、数组 5、null 和 undefined 6、对象类型 二、 类型转换 1、字符串转整数 2、字符串转小数 3、数字转字符串 4、布尔...
之所以不同的数据类型之间可以做运算,是因为JavaScript引擎在运算之前会悄悄的把他们进行了隐式类型转换的,如下是数值类型和布尔类型的相加: 3 + true; // 4 结果是一个数值型!如果是在C或者Java环境的话,...
之所以不同的数据类型之间可以做运算,是因为JavaScript引擎在运算之前会悄悄的把他们进行了隐式类型转换的,如下是数值类型和布尔类型的相加: 复制代码 代码如下: 3 + true; // 4 结果是一个数值型!如果是在C...
js处理java后台传过来的date对象并转换成指定格式的字符串,亲测可用
在后台将数据转换成JSON类型,在javascript使用更简单。
1、把其他的数据类型转换为number类型 Number()->严格 parseFloat/parseInt ->非严格 isNaN(value) 如果value值不是数字类型的,它是首先调用Number转换为数字类型然后在判断是否为有效的数字 例如: ...
Java数据压缩与传输实例,可以学习一下实例化套按字、得到文件输入流、压缩输入流、文件输出流、实例化缓冲区、写入数据到文件、关闭输入流、关闭套接字关闭输出流、输出错误信息等Java编程小技巧。 Java数组倒置...
原始数据类型 目标类型Number undefined NaN null 0 false 0 true 1 数字串 相应的数字 不能转化的字符串 NaN 其它类型转化为字符串 原始数据类型 目标类型String undefined undefined null null false ...
ECMAScript中有5种基本数据类型:Undefined、Null、Boolean、Number、String。还有1种复杂数据类型—Object,Object实质上是由一组无序的名值对(键值对)组成的。ECMAScript不支持任何创建自定义类型的机制。 由于...
[0]5种数据类型: [0.1]基本数据类型:Undefined、Null、Boolean、Number、String [0.1.1]基本类型值是指简单的数据段,5种基本类型是按值访问的,因为可以操作保存在变量中的实际值 [0.1.2]基本类型的值在...
Java数据压缩与传输实例,可以学习一下实例化套按字、得到文件输入流、压缩输入流、文件输出流、实例化缓冲区、写入数据到文件、关闭输入流、关闭套接字关闭输出流、输出错误信息等Java编程小技巧。 Java数组倒置...
JavaScript基础语法资料 JavaScript代码 素材 笔记 作业资料,学习资料 01-编程语言.html 02-JS初体验.html 03-JS注释.html 04-JS输入输出语句.html 05-变量.html 06-变量案例.html 07-变量案例弹出用户名.html 08-...
Java数据压缩与传输实例,可以学习一下实例化套按字、得到文件输入流、压缩输入流、文件输出流、实例化缓冲区、写入数据到文件、关闭输入流、关闭套接字关闭输出流、输出错误信息等Java编程小技巧。 Java数组倒置...
GeoJSON是一种对各种地理数据结构进行编码的格式,基于Javascript对象表示法(JavaScript Object Notation, 简称JSON)的地理空间信息数据交换格式。GeoJSON对象可以表示几何、特征或者特征集合。GeoJSON支持下面这几...
1.数据类型是什么? 我们接触的绝大多数程序语言来说,把数据都进行了分类,包括数字、字符、逻辑真假:int,long,string,boolean….等等;我们都知道计算机对数据处理时是采用二进制的方式。将数据加载到内存中...
Java Remote Desktop 是一个Java 的远程桌面软件,支持很多特性例如文件传输、数据压缩、颜色转换、键盘鼠标事件转换等等。 最短路径算法实现 k-shortest-paths 这是一个实现了 Yen 的排名算法的无环路径的项目 ...