js 数据类型转换总结笔记_javascript技巧
May 16, 2016 pm 06:11 PMjavascript有如下数据类型的转换方法:
一,转换成数字 xxx*1.0
转换成字符串 xxx+""
二,从一个值中提取另一种类型的值,并完成转换工作。
.提取字符串中的整数:parseInt();
例:parseInt("123zhang")的结果为123
.提取字符串中的浮点数:parseFloat();
例:parseFloat("0.55zhang")的结果为0.55
.执行用字符串表示的一段javascript代码:eval();
例:zhang=eval("1+1")的结果zhang=2
. 转换成字符串: toString() ;
例:zhang=eval("1+1")的结果zhang=2
三,是将整个值从一种类型转换为另一种数据类型(称作基本数据类型转换),
基本数据类型转换的三种方法:
.转换为字符型:String() ; 例:String(678)的结果为"678"
.转换为数值型:Number() ; 例:Number("678")的结果为678
.转换为布尔型:Boolean() ; 例:Boolean("aaa")的结果为true
使用这些方法时,如有必要,尽量对参数和 方法的执行进行判断和异常处理操作。
有在参考文档中看到,如下关于执行效率的总结:
在IE 下,第一种速度最快,第二种次之,第三种最差,但差距不过10万次,差几十百来毫秒而已。
在FF下,第一种和第二种基本上相当,第三种最慢。
速度差别基本上可以忽略。因为差距很小。
但是,从代码的简洁性, 第一种明显写法简便,而且也易读,
而且不会出现第二种的 因为 某个对象没有 toString 方法而报错的问题。况且他始终也是最快的。
所以,个人习惯使用第一种方式来完成数据类型的转换
但是,比如需要“123456abcd”来提取其中的数字,那自然当用parsetInt,和parseFloat之类的函数。
但是要注意,有时候 转换的结果是 NaN 等,需要判断一下。
例异常处理如 :
//执行文本框内的语句,用eval 返回语句执行后的值
function doFunction(str) {
var result = str.replace(new RegExp("\"", "gm"), "");
//判断语句是否合法
var reg = /\s*[A-Za-z]+\s*\('.+'\)\s*$/;
if (result.match(reg)) // 或者用 reg.test(result); 方法判断
try {
result = eval(result);
return result;
}
catch (Error) {
alert("抱歉!语句无法执行转化。注意语法和拼写。");
return;
}
else alert("请检查数据类型转换语句的格式及语法!");
}
有关数据转换方法的其他测试示例如下:
例 句 | 结 果 |
---|---|
parseInt('1234') | 1234 |
parseInt('1234.00') | 1234 |
parseInt('1234abc') | 1234 |
parseInt('abc1234') | undefined(转换失败) |
parseFloat('1234.123') | 1234.123 |
parseFloat('1234.123a') | 1234.123 |
parseFloat('a1234.123') | NaN |
Number('1234.123') | 1234.123 |
Number('1234.123aa') | NaN |
String(eval('12+10')) | 22 |
Boolean('0'),Boolean('567'),Boolean(567) | true |
Boolean(null),Boolean(false),Boolean(0),Boolean(''),Boolean() | false |
this.toString() | [object] |
(typeof(this)).toString() | object |
eval('12+34') | 46 |
eval('12+34')+'' | 46 |
eval('12+34')*1.0 | 46 |
typeof(eval('12+34')*1.0) | number |
typeof(eval('12+34')+'') | string |
注:测试时的环境是 vs2008,ie8...,是在页面上输入的语句,js里用eval处理上表中左栏的转换例句。
使用时或许需要修改符号等。

Article chaud

Outils chauds Tags

Article chaud

Tags d'article chaud

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Comment utiliser v-model.number pour implémenter la conversion du type de données des zones de saisie dans Vue

Comment utiliser la fonction CONVERT dans MySQL pour la conversion de type de données

Conversion de types de données PHP8 : méthodes et partage de cas pour améliorer l'efficacité de la conversion

Recherche de solutions aux problèmes de conversion de types de données rencontrés lors du développement utilisant la technologie MongoDB

Partage des méthodes de conversion de types de données dans MySQL

Comment implémenter la fonction de conversion de type de données dans TypeScript à l'aide de MySQL

Erreur Java : type de données incorrect, comment corriger et éviter

Conversion de type de données PHP8 : guide rapide et FAQ
