1] 'this is a string'这是字符串直接量,new String('this is a string')这是字符串对象,字符串对象可以用字符串对象所带的属性和方法,直接量在“表面上”也可以用,但实质是先转成了对象,做处理结束以后再丢弃对象,返回结果。如:

 var city =new String("St. Louis");
var lcCity = city.toLowerCase();//输出st. louis

2] 连接字符串可以通过运算符“+”,也可以通过String对象自带函数concat,如:

var oracle = "oracle";
oracle += " sql";//输出oracle sql
/* 等价于 */
var oracle = "".concat("oracle"," sql");//当然,可以添加更多的参数

3] 字符串比较一般都是通过运算符"=="、"<"、">",还有一个String对象的方法localeCompare也可以作比较,如:

var f1 = "apple”;
var f2 = "grape";
var i = f1.localeCompareCompare(f2);//返回-1
/* 相同为0,小于为-1,大于为1(f1对比f2) */

4] 在字符串中查找子字符串可以通过String的内置对象indexOf,返回的是子字符串的位置,如果用lastIndexOf可以从右向左计数;当然,还有其他很多方法,这只是其中的一种。索引方式举例如下:

"this apple is my apple".lastIndexOf("apple");//返回值17
"this apple is my apple".lastIndexOf("apple",12);//返回值5
"this apple is my apple".lastIndexOf("apple",3);//返回值-1(没找到)

5] 分割字符串,大家应该都知道的,substr、substring,还有就是split,用这些方法,配合indexOf就可以提取字符串了。例子就不举了。

6] 检查非空字符串,运用typeof、valueOf以及length长度即可。typeof检测数据基本类型,valueOf是所有对象的方法,不局限于string,返回调用对象的基本值——之所以还要用它,是因为如果不确定字符串是否存在,用length会报错,而且如果字符串不是直接量,而是一个被new出来的String对象,那么typeof也会返回object类型,不过一般在我们实际应用中,出现如此不确定的东西的时候还是很少的,所以一般省略valueOf也都可以达到目的。

7] 去除字符串末尾空白,可以用字符串对象自带的replace方法,用正则将空白都替换成"",不过ECMAScript5新增了一个trim的方法,可以自动去除空白,但是IE8不支持,可以自己封装一个,比如:

if(typeof String.trim == "undefined"){
String.prototype.trim = function(){
return this.replace(/(^\s)|(\s*$)/g, "");
}
}

这样String对象里面如果没有trim方法,则会给String原型上添加这样一个方法,可以被使用。除此之外,还可以单独去除左边和右边的空白,trimLeft,trimRight。

Javascript经典实例 - 字符串的更多相关文章

  1. JavaScript 经典实例收集整理

    跨浏览器添加事件 //跨浏览器添加事件 function addEvent(obj,type,fn){ if(obj.addEventListener){ obj.addEventListener(t ...

  2. javascript笔记——JavaScript经典实例

    转载自百度文库 http://wenku.baidu.com/view/9a703522bcd126fff7050bfa.html 1. oncontextmenu="window.even ...

  3. Javascript经典实例 - 正则表达式

    1] 正则常用字符 正则表达式常用的特殊字符 字符 匹配 示例 ^ 匹配输入的开始 /^This/匹配 “This is ...” $ 匹配输入的结束 /end$/匹配“This is the end ...

  4. JavaScript 经典实例日常收集整理(常用经典)

    作者:阿讯小飞 原文来自:脚本之家 跨浏览器添加事件 //跨浏览器添加事件 function addEvent(obj,type,fn){ if(obj.addEventListener){ obj. ...

  5. JavaScript经典实例

    1.指定范围生成随机数 function random(min, max) { if (arguments.length === 2) { return Math.floor(min + Math.r ...

  6. JavaScript经典实例(浏览器事件)

    跨浏览器事件 1.跨浏览器添加事件 function addEvent(obj,type,fn){ if(obj.addEventListener){ obj.addEventListener(typ ...

  7. 经典的javascript函数实例,css的. #区别

    先贴javascript经典例子代码: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" &quo ...

  8. 数据可视化(5)--jqplot经典实例

    本来想把实例也写到上篇博客里,最后发现太长了,拆成两篇博客了. 实例来源于官方文档:http://www.jqplot.com/tests/ 这篇博客主要是翻译了官方文档关于经典实例的解说,并在相应代 ...

  9. c#初学-多线程中lock用法的经典实例

    本文转载自:http://www.cnblogs.com/promise-7/articles/2354077.html 一.Lock定义     lock 关键字可以用来确保代码块完成运行,而不会被 ...

随机推荐

  1. ueditor 百度编辑器 自定义图片上传路径和格式化上传文件名

    今天项目中需要自定义图片上传的保存路径,并且不需要按照日期自动创建存储文件夹和文件名,我的ueditor版本是1.3.6.下面记录一下我配置成功的方法,如果有什么不对的地方欢迎指出,共同学习: 1:我 ...

  2. python yield 理解

    在别人的代码中看到yield这个关键字,看了几篇资料,说一下个人理解. 包含yield 关键字的函数成为一个迭代器,yield跟return的位置一样,只不过每次返回结果后,并没有退出,而是等待下一次 ...

  3. java.lang.NoClassDefFoundError: org/apache/commons/lang/StringUtils

    java.lang.NoClassDefFoundError: org/apache/commons/lang/StringUtils Caused by: java.lang.ClassNotFou ...

  4. KEIL C51 Call Tree

    KEIL中函数的调用在其帮助文档中有一个详细的解释,引用如下: The Call Tree The best way to demonstrate how the call tree is gener ...

  5. Qt工具知多少

    一级题目: Qt Designer — 所见即所得的界面设计工具, 可以用拖拽的方式将控件排布在界面上,支持layout, 支持signal/slot编辑. 生成的文件保存为ui格式, ui是xml格 ...

  6. HashMap非线程安全分析

    通过各方资料了解,HashMap不是线程安全的,但是为什么不是线程安全的,在什么情况下会出现问题呢? 1. 下面对HashMap做一个实验,两个线程,并发写入不同的值,key和value相同,最后再看 ...

  7. 如何在程序中调用Caffe做图像分类

    Caffe是目前深度学习比较优秀好用的一个开源库,采样c++和CUDA实现,具有速度快,模型定义方便等优点.学习了几天过后,发现也有一个不方便的地方,就是在我的程序中调用Caffe做图像分类没有直接的 ...

  8. 第13讲- Android之消息提示Notification

    第13讲 Android之消息提示Notification .Notification Notification可以理解为通知的意思一般用来显示广播信息,通知可以显示到系统的上方的状态栏(status ...

  9. PHP批量审核ajax jquery

    var jQuery = $.noConflict(); // alert(jQuery); jQuery(document).ready(function() { /*批量审核*/ jQuery(' ...

  10. HDU 4122 Alice's mooncake shop (单调队列/线段树)

    传送门:http://acm.hdu.edu.cn/showproblem.php?pid=4122 题意:好难读懂,读懂了也好难描述,亲们就自己凑合看看题意把 题解:开始计算每个日期到2000/1/ ...