JavaScript复习笔记——字符串
//使用new创建字符串对象
var s1 = new String("hello");
console.log(typeof s1); //"object" //没有new,创建原始类型的字符串
var s2 = String("hello");
console.log(typeof s2); //"string" //最好是直接使用字面量的方法创建原始类型的字符串:
var s3 = "hello";
console.log(typeof s3); //"string" //可以调用原始类型的方法和属性:
console.log(s3.length); // //但是不可以往原始类型上面添加属性,即使不提示错误
s3.name = "fuck";
console.log(s3.name); //undefined
var s = "JavaScript";
console.log(s.length); //
console.log(s.indexOf("a")); //
console.log(s.lastIndexOf("a")); //
console.log(s.charAt(0)); //"J"
console.log(s.charCodeAt(0)); //
console.log(s.toLowerCase()); //"javascript"
console.log(s.toLocaleLowerCase());
console.log(s.toUpperCase()); //"JAVASCRIPT"
console.log(s.toLocaleUpperCase()); //
s.concat(" rulz", "!"); //"JavaScript rulz!"
var s = "JavaScript";
s.slice(4, 7); //'Scr'
s.substring(4, 7); //'Scr'
s.substr(4, 3); //'Scr'
console.log("JavaScript".localeCompare("Java")); //
console.log("JavaScript".localeCompare("JavaScriptz")); //-1
console.log("JavaScript".localeCompare("JavaScript")); //
var s = "a,b,c";
console.log(s.split(",")); //["a", "b", "c"]
var s = "JavaScript";
console.log(s.split(/a/)); //["J", "v", "Script"]
var s = "a ,b ,c ";
console.log(s.split(",")); //["a ", "b ", "c "]
var s = "a ,b ,c ";
console.log(s.split(/\s*,\s*/)) //["a", "b", "c"]
var s = "JavaScript";
console.log(s.search(/ava/)); //
console.log(s.search("Java")); //
console.log(s.search("JavaEE")); //-1
console.log(s.search(/Script/)); //
var s = "JavaScript";
console.log(s.replace(/a/g, "@")); //"j@v@script"
如果,传递的是一个字符串,其内容会用作一个正则表达式的模式。但是,由于这个例子中,我们无法设置正则表达式模式的修饰符(如g,i,m),因此,只有一次会被替换:
var s = "JavaScript";
console.log(s.replace("a", "@")); //"j@vaScript"
这是常见的错误原因之一,即使你只想替换第一次出现,也总是使用正则表达式来搜索,这是好习惯。
var s = "JavaScript";
console.log(s.replace(/a/g, "@").replace(/s/gi, "$")); //J@v@$cript
var ents = "JavaScript".replace(/[a-z]/g, function(match, index, input) {
//match是a,然后是v,接着是a,以此类推
//index是match的索引,1, 2, 3, 4, 5, 6...
//input是"JavaScript"
return "&#".concat(match.charCodeAt(0), ";");
}); console.log(ents); //JavaScript
var s = "JavaScript";
console.log(s.match(/[A-Z]/)); //["J"]
console.log(s.match(/[A-Z]/g)) //["J", "S"]
console.log("string".match(/[a-z]/)); //["s"]
console.log(/[a-z]/.exec("string")); //["s"]
"string".match(/[0-9]/); //null
/[0-9]/.exec("string"); //null
JavaScript复习笔记——字符串的更多相关文章
- javascript复习笔记
/* Javascript:用来在页面中编写特效,和HTML.CSS一样都是有浏览器解析 Javascript语言: 一.JS如何运行(javascript,jscript,vbscript,appl ...
- JavaScript复习笔记——数据类型
1.undefined 使用var声明但未对其进行初始化时,这个变量的值就是undefined. 对未被初始化的值使用typeof会返回undefined值,而对未声明的变量执行typeof操作同样也 ...
- JavaScript 重点笔记
JavaScript 重点笔记 ## 数组 // 必须掌握 - arr.length:获取数组元素的长度 - arr.splice(起始位置,长度):从数组中添加或删除元素. - arr.indexO ...
- angular复习笔记4-模板
Angular复习笔记4-模板 简介 模板是一种自定义的标准化页面,通过模板和模板中的数据结合,可以生成各种各样的网页.在Angular中,模板的默认语言是HTML,几乎所有的HTML语法在模板中都是 ...
- Java基础复习笔记系列 七 IO操作
Java基础复习笔记系列之 IO操作 我们说的出入,都是站在程序的角度来说的.FileInputStream是读入数据.?????? 1.流是什么东西? 这章的理解的关键是:形象思维.一个管道插入了一 ...
- Java基础复习笔记系列 五 常用类
Java基础复习笔记系列之 常用类 1.String类介绍. 首先看类所属的包:java.lang.String类. 再看它的构造方法: 2. String s1 = “hello”: String ...
- Java基础复习笔记系列 四 数组
Java基础复习笔记系列之 数组 1.数组初步介绍? Java中的数组是引用类型,不可以直接分配在栈上.不同于C(在Java中,除了基础数据类型外,所有的类型都是引用类型.) Java中的数组在申明时 ...
- JavaScript基础笔记二
一.函数返回值1.什么是函数返回值 函数的执行结果2. 可以没有return // 没有return或者return后面为空则会返回undefined3.一个函数应该只返回一种类型的值 二.可变 ...
- JavaScript基础笔记一
一.真假判断 真的:true.非零数字.非空字符串.非空对象 假的:false.数字零.空字符串.空对象.undefined 例: if(0){ alert(1) }else{ alert(2) } ...
随机推荐
- Java学习-010-创建文件夹源代码
此文源码主要为应用 Java 创建文件目录的源码.若有不足之处,敬请大神指正,不胜感激! 创建文件夹源代码如下所示: /** * @function 文件操作:创建文件夹.若文件夹不存在,则级联创建文 ...
- 转载:XPath基本语法
出处:http://www.cnblogs.com/Miko2012/archive/2012/10/26/2740840.html XPath的语法最基本的节点之间用/,属性用@,还有几个函数记住了 ...
- SQLPlus Error handle
SQLPlus directive "WHENEVER SQLERROR EXIT 1" will return a specified code when any SQL err ...
- js 自动下载函数
function downloadFile(fileName, content){ var aLink = document.createElement('a'); var blob = new Bl ...
- Nuget程序包 使用log4net
Nuget程序包不用细介绍,网上资源很多,有个项目使用了log4net,为项目打log,功能很多,足够一般使用. 使用时候需要在配置文件中对其进行相关配置,我自己的配置文件放在App.config文件 ...
- WW多线程和锁
问题: WorldWind中是双线程的,一直忽略了多线程中数据共享,修改数据会产生问题.可是在WW中并没有看到锁的东西. 还有就是动态释放内存的问题.因为采用D3D的C#封装库不可避免涉及COM对象的 ...
- [chrome插件] 利滚利计算器 银行存款 基金理财 余额宝收益计算
利滚利计算在数学上是否有一个简单的公式,我不知道,但作为程序员,这个算法实现起来就是小菜一碟.作为插件发布,是因为程序确实简单,也方便Chome浏览器使用者安装.如果你也想使用一下Chrome插件,参 ...
- python中的yield
在理解yield之前,要首先明白什么是generator,在理解generator之前首先要理解可迭代的概念. 可迭代(iterables)在你创建一个list的时候,可以逐个读取其中的元素,该逐个读 ...
- Test4J与Jtester单元测试常用注解比较
package com.alibaba.ceres.catalog.biz.product.impl; import org.junit.After; import org.junit.Before; ...
- logistic regression的一些问题,不平衡数据,时间序列,求解惑
Logistic Regression 1.在有时间序列的特征数据中,怎么运用LR? 不光是LR,其他的模型也是. 有很多基本的模型变形之后,变成带时序的模型.但,个人觉得,这类模型大多不靠谱. 我觉 ...