说说 js String
首先说说js的字符串,说到字符串这个就和我们原来的C# 代码有区别的就是,js里面没有chart类型。就是说他里面的
“ ”和‘ ’是要表达一样的意思。
其实这个里面就有一个问题了特别实在拼接字符串的时候可能有点晕,就是我们到底是用双引号好了,还是单引号。(注意:其实在
不过在字符串拼接与函数传参混合的时候,由于同种引号不能嵌套,所以需要者两种引号配合使用,才能实现)例子:
var url=[]; url.push('<a onclick="Look("+row.path+")" href="#">'); console.log(url); 正确: ["<a onclick="Look("+row.path+")" href="#">"] var url=[]; url.push("<a onclick="Look("+row.path+")" href="#">"); console.log(url); 错误: SyntaxError: Unexpected identifier var url=[]; url.push("<a onclick='Look('+row.path+')' href='#'>"); console.log(url); 正确: ["<a onclick='Look('+row.path+')' href='#'>"]
所以我们在字符拼接的时候需要注意一下这个小细节。(注意:这里在提一点其实上面的代码是有问题,希望大家能够看出来。)
字符串如何转换成数值类型下面说一些大家可能不经常用到的方法(除了 parseInt() parseFloat())
var b="2"*"1"; console.log(b); 结果:2 var c="sssss"-0; console.log(c); 结果:NaN
然后在问一下string 他是不是Object了?
console.log(typeof("ssss")); string
在问大家一个问题
if("sssss"){console.log("sss")}; console.log("aaaa"); 结果是:sss aaaa if(""){console.log("sss")}; console.log("aaaa"); 结果是:aaaa if(" "){console.log("sss")}; console.log("aaaa"); 结果是:sss aaaa
其实大家可能已将看懂了我要说的意思了其实在string 里面 非空的类型返回都是true而空的里面返回的就是 false了。
string 可以这样用string
var s="ssssss"; console.log(s.substring(s.indexOf("s")+1,s.length));
看着这个的时候你说他是不是一个对象了?他是对象吗?可是我们应用上面出现过的例子我们可以看出来他不是一个对象。但是为什么他可以这样用,其实在js里面他还有相应的类进行相关的支持,String,Number,Boolean 只是这个类里面包含了相应的属性和方法而已。
在js 里面的string可能没有C#里面的string操作的那么多所以导致里面的很多的方法都没有,于是写几个简单的扩展方法,大家可以再自己的项目里面提高自己的开发效率。
/*去除所有的空格*/ String.prototype.trim = function() { return this.replace(/(^\s+)|\s+$/g, ""); }; /*去除做空格*/ String.prototype.trimLeft = function() { return this.replace(/^\s*/g, ''); }; /*去除右空格*/ String.prototype.trimRight = function() { return this.replace(/\s*$/g, ''); }
哎 希望大家在多留言和总结谢谢。。。。相互学习。保证每周都有更新