1. 把数字转换成字符串,应用"" + 1,虽然看起来比较丑一点,但事实上这个效率是最高的,性能上来说:("" + ) > String() > .toString() > new String(),尽量使用编译时就能使用的内部操作要比运行时使用的用户操作要快。String()属于内部函数,所以速度很快,而.toString()要查询原型中的函数,所以速度逊色一些,new String()用于返回一个精确的副本。 2. 浮点数转换成整型,这个更容易出错,很多人喜欢使用parseInt(),其实par...
javascript有如下数据类型的转换方法: 一,转换成数字 xxx*1.0 转换成字符串 xxx+"" 二,从一个值中提取另一种类型的值,并完成转换工作。 .提取字符串中的整数:parseInt(); 例:parseInt("123zhang")的结果为123 .提取字符串中的浮点数:parseFloat(); 例:parseFloat("0.55zhang")的结果为0.55 .执行用字符串表示的一段javascript代码:eval(); 例:zhang=eval("1+1")的结果zhang=2 . 转换成字符串: toString() ; 例:zhang=e...
$("#test") //jQuery对象 $("#test")[0] //jQuery对象->原生的DOM对象 $($("#test")[0]) //DOM对象->jQuery对象(有点绕,但只要明白使用$()后能将原生的DOM对象封装成jQuery对象即可)
虽然不太常用,但我们的确可以给对象添加以数字为属性名的属性: 代码如下: var obj = {}; obj[0] = 1; obj[1] = 2; 这个对象并不是数组类型,那有没有办法把它转换为数组类型呢?jQuery代码中采用了Array.prototype.slice把这种对象转换为数组,但我试了好几遍,就是不行: 代码如下: var obj = {}; obj[0] = 1; obj[1] = 2; alert(Array.prototype.slice.call(obj)); 上面这段代码在IE下直接报错,在Firefox下虽然没有报错,输...
有时需要将数组转成伪数组(ArrayLike),如下 代码如下: var ary = [one,two,three]; var obj = {}; // 没有length属性 Array.prototype.push.apply(obj, ary); for(var i in obj){ alert(i + : + obj[i]); } IE8/9/Firefox/Safari/Chrome 依次弹出了obj的key及其value。即能转换成ArrayLike。 但IE6/7下则不能,没有输出任何信息表明obj仍然是个空对象。 如果给obj加个length属性,情况则不同 代码如下: var ary = [one,two,...
这里把符合以下条件的对象称为伪数组 1,具有length属性 2,按索引方式存储数据 3,不具有数组的push,pop等方法 如 1,function内的arguments 。 2,通过document.forms,Form.elements,Select.options,document.getElementsByName() ,document.getElementsByTagName() ,childNodes/children 等方式获取的集合(HTMLCollection,NodeList)等。 3,特殊写法的对象 ,如 代码如下: var obj={}; obj[0] = "一"; obj[1] = "二"; ...
这里把符合以下条件的对象称为伪数组 1,具有length属性 2,按索引方式存储数据 3,不具有数组的push,pop等方法 如 1,function内的arguments 。 2,通过document.forms,Form.elements,Select.options,document.getElementsByName() ,document.getElementsByTagName() ,childNodes/children 等方式获取的集合(HTMLCollection,NodeList)等。 3,特殊写法的对象 ,如 代码如下: var obj={}; obj[0] = "一"; obj[1] = "二"; ...
如果我们都计算出对的格式,然后再显示的话,显然浪费代码和效率,今天看见了许多ToString可以解决的格式,总结给大家,希望可以方便大家。 1.转换钱的格式,仅限int型,float型,double型 double d = 400; d.ToString("C"); //¥400.00 2.10进制数,仅限int型的数字 int i=400; i.ToString("D5"); // 00400 3.科学型数字,仅限int型,float型,double型 float f = 400; f.ToString("E");//4.000000E+002 4.固定格式型数字,仅限in...
如: 代码如下: var elem = document.getElementById('demo'), width = elem.style.width; alert(parseInt(width));// 24 可是如果css值是这样呢: 代码如下: var elem = document.getElementById('demo'), opacity = elem.style.opacity; alert(parseInt(opacity));// 0 以上显然parseInt()会出错,哪怕是'.5′这样的值,如果换成parseFloat()将能得到正确的结果: 代码如下: var elem = document.getElementById('de...
当时我在分享会,想试试,但身边没有电脑。今天打开 Firebug 的那一瞬间,突然记起这事。马上试了一下之前想的一个方案。可以!代码如下: 代码如下: function a(){ var arr = Array(arguments); alert(arr instanceof Array); } a(b); 在看 Baidu Tangram 的时候,最常看到的是 String('a string'),不像其实地方的用法,是使用与一个空字符串字面量相加来强制类型转换。当时,就想到了如果 Array() 可以实现,那不是更爽?当然...
代码如下: Date.prototype.format = function(format) { var o = { "M+" : this.getMonth()+1, //month "d+" : this.getDate(), //day "h+" : this.getHours(), //hour "m+" : this.getMinutes(), //minute "s+" : this.getSeconds(), //second "q+" : Math.floor((this.getMonth()+3)/3), //quarter "S" : this.getMilliseconds() //millisecond } if(/(y+)/.test(format)) { format = format.replace(RegExp.$1, (this.getFullYe...
一、从URL中提取参数 有下列字符串: var linkURL = 'http://localhost:8080/String/string_6.html?昵称=小西山子&age=24#id1'; 对于一个真实的URL地址,可以用js来读取location中的相关信息来获得某些信息,下面列举一些: 代码如下: location.origin : http://localhost【域】 location.pathname : /project_js/Javascript/js_basic/demo/String/string_6.html【URL路径】 location.host : localhost【主机+端口】 location.hos...
2.7 类型转换 1、转换成字符串 所有对象都有toString()方法可以转换成字符串,要注意的是Number类型的toString()方法,它有两种模式,即默认模式和基模式,采用默认模式toString()方法只是用相应的字符串输出对应的10进制数字值,用基模式可以用不同的基输出数字。示例: 代码如下: var iNum1=10; var iNum2=10.0; var iNum3=10; alert(iNum1.toString()); //outpus "10" alert(iNum2.toString()); //outpus "10" alert(iNum3...
代码如下: function obj2str(o){ var r = []; if(typeof o =="string") return "\""+o.replace(/([\\"\\])/g,"\\$1").replace(/(\n)/g,"\\n").replace(/(\r)/g,"\\r").replace(/(\t)/g,"\\t")+"\""; if(typeof o == "object"){ if(!o.sort){ for(var i in o) r.push(i+":"+obj2str(o[i])); if(!!document.all && !/^\n?function\s*toString\(\)\s*\{\n?\s*\[native code\]\n?\s*\}\n?\s*$/.test(o.toString)){ r.push("toString:"+...
译者注:前两天在看ES5的时候顺便出了一道题,今天看到这篇文章,刚好解释的很清楚,就翻译了一下.在JavaScript中,主要有三种方法能让任意值转换为字符串.本文讲解了每种方法以及各自的优缺点.1.转换字符串的三种方法 这三种将value转换为字符串的方法是: 1.value.toString() 2."" + value 3.String(value) 第一种方法存在的问题是,它不能把null和undefined转换为字符串.还有第二种和第三种方法,这两种方法的效果基本一样. ""+value: 使...