首页
关于
友情链接
文章归档
Search
1
centos 32位 64位 下挂vagex一键包代码
718 阅读
2
wordpress转typecho方法
615 阅读
3
一个自制的virto精简版kvm qemu win2003模板 最低64M内存可用
605 阅读
4
PHP 安装
539 阅读
5
暴雨 车被泡了~
478 阅读
默认分类
vps综合利用
登录
/
注册
Search
标签搜索
Uncategorized
安装
mysql
utf-8
网站
google
linux
free
免费
黑色
ssl
一键包
优化
40%
press
vagex
32位
64位
debian
domain
御品VPS
累计撰写
501
篇文章
累计收到
1
条评论
首页
栏目
默认分类
vps综合利用
页面
关于
友情链接
文章归档
搜索到
37
篇与
index
的结果
2018-06-15
Python大批量数据处理技巧
主要内容本文主要结合最近一个项目,介绍python在进行大量数据清洗过程中的一个技巧,可以防止内存崩溃。一、背景1、项目过程要求处理一个包含260万条左右数据的excel表格,大约90M,自己电脑无法直接打开这个excel表格(相当慢)2、excel表每条数据包含一个工作地地址字段,很乱,需要从中提取省市区县,这里用split、正则表达式都会有很多漏处理的数据,没少头疼二、解决办法1、针对excel无法打开的情况,直接使用pd.read_excel()读成dataframe进行查看2、这里从不规则地址中提取省市区县找到了一个非常好用三方包,chinese_province_city_area_mapper,它采用了jieba分词工具,非常适用于这种不规则文本中提取行政区划等规则文本。另外,它的使用方式如下:3、直接使用这个三方包对全部250万条数据进行处理会出现“memory error”问题。网上很多帖子提到出现这个问题有可能是python用的是32bit的,但这里不是这个原因,而是因为确实内存用光了,我亲眼看着任务管理器进程内存耗用一步步由绿变红到死机。以下是我的电脑配置: 我这里使用了“分批+垃圾回收”的机制,成功解决了问题,内存最多只用到1.7G,用时大概30—40分钟。(1)分批:batch思路来源于神经网络里模型训练用到的mini-batch gadient descent方法,确定一个合适的batch_size,每处理一部分,就将该部分append到dataframe中去,然后进行垃圾回收,接着进行下个循环。需要注意的是:每个batch返回的temp(dataframe类型,通过cpca.transform()处理得到)在最终合并时index要重新设置,否则在后续处理时会出现multiple index的错误(比如:merge操作就会出现意想不到的结果)。(2)垃圾回收在网上查阅了许多资料,发现python 的gc.collect()可以进行垃圾回收,及时清除中间变量(指通过指针找不到的,这里要好好理解下,只有指针无法找到的变量,才会被当作垃圾清除)。所以采用了一个方法,先使用del方法删除变量,在进行gc.collect()回收,效果很好(注意使用del方法后并没有清除内存,只是断掉了指针,使之成为无效变量,还占用着内存)。 4、使用垃圾回收机制需要注意,这一操作会影响程序的执行效率,应尽可能地减少gc.collect()的次数5、针对数据量很大的情况,一定要注意保存数据副本,即使保存数据变量空间,避免出现误操作后重新处理数据的情况6、batch处理时,要注意设置断点(当前batch提醒,如果出错了,要知道是哪个地方出错的)
2018年06月15日
236 阅读
0 评论
0 点赞
2018-05-11
HTML5 Web 存储
HTML5 Web 存储 HTML5 web 存储,一个比cookie更好的本地存储方式。 什么是 HTML5 Web 存储? 使用HTML5可以在本地存储用户的浏览数据。 早些时候,本地存储使用的是 cookie。但是Web 存储需要更加的安全与快速. 这些数据不会被保存在服务器上,但是这些数据只用于用户请求网站数据上.它也可以存储大量的数据,而不影响网站的性能. 数据以 键/值 对存在, web网页的数据只允许该网页访问使用。 浏览器支持 Internet Explorer 8+, Firefox, Opera, Chrome, 和 Safari支持Web 存储。 注意: Internet Explorer 7 及更早IE版本不支持web 存储. localStorage 和 sessionStorage 客户端存储数据的两个对象为: localStorage - 用于长久保存整个网站的数据,保存的数据没有过期时间,直到手动去除。 sessionStorage - 用于临时保存同一窗口(或标签页)的数据,在关闭窗口或标签页之后将会删除这些数据。 在使用 web 存储前,应检查浏览器是否支持 localStorage 和sessionStorage: if(typeof(Storage)!=="undefined") { // 是的! 支持 localStorage sessionStorage 对象! // 一些代码..... } else { // 抱歉! 不支持 web 存储。 } localStorage 对象 localStorage 对象存储的数据没有时间限制。第二天、第二周或下一年之后,数据依然可用。 实例 localStorage.sitename="菜鸟教程"; document.getElementById("result").innerHTML="网站名:" + localStorage.sitename; 实例解析: 使用 key="sitename" 和 value="菜鸟教程" 创建一个 localStorage 键/值对。 检索键值为"sitename" 的值然后将数据插入 id="result"的元素中。 以上实例也可以这么写: // 存储 localStorage.sitename = "菜鸟教程"; // 查找 document.getElementById("result").innerHTML = localStorage.sitename; 移除 localStorage 中的 "lastname" : localStorage.removeItem("lastname"); 不管是 localStorage,还是 sessionStorage,可使用的API都相同,常用的有如下几个(以localStorage为例): 保存数据:localStorage.setItem(key,value); 读取数据:localStorage.getItem(key); 删除单个数据:localStorage.removeItem(key); 删除所有数据:localStorage.clear(); 得到某个索引的key:localStorage.key(index); 提示: 键/值对通常以字符串存储,你可以按自己的需要转换该格式。 下面的实例展示了用户点击按钮的次数。 代码中的字符串值转换为数字类型: 实例 if (localStorage.clickcount) { localStorage.clickcount=Number(localStorage.clickcount)+1; } else { localStorage.clickcount=1; } document.getElementById("result").innerHTML=" 你已经点击了按钮 " + localStorage.clickcount + " 次 "; sessionStorage 对象 sessionStorage 方法针对一个 session 进行数据存储。当用户关闭浏览器窗口后,数据会被删除。 如何创建并访问一个 sessionStorage: 实例 if (sessionStorage.clickcount) { sessionStorage.clickcount=Number(sessionStorage.clickcount)+1; } else { sessionStorage.clickcount=1; } document.getElementById("result").innerHTML="在这个会话中你已经点击了该按钮 " + sessionStorage.clickcount + " 次 "; Web Storage 开发一个简单的网站列表程序 网站列表程序实现以下功能: 可以输入网站名,网址,以网站名作为key存入localStorage; 根据网站名,查找网址; 列出当前已保存的所有网站; 以下代码用于保存于查找数据: save() 与 find() 方法 //保存数据 function save(){ var siteurl = document.getElementById("siteurl").value; var sitename = document.getElementById("sitename").value; localStorage.setItem(sitename, siteurl); alert("添加成功"); } //查找数据 function find(){ var search_site = document.getElementById("search_site").value; var sitename = localStorage.getItem(search_site); var find_result = document.getElementById("find_result"); find_result.innerHTML = search_site + "的网址是:" + sitename; } 完整实例演示如下: 实例 <div style="border: 2px dashed #ccc;width:320px;text-align:center;"> <label for="sitename">网站名(key):</label> <input type="text" id="sitename" name="sitename" class="text"/> <br/> <label for="siteurl">网 址(value):</label> <input type="text" id="siteurl" name="siteurl"/> <br/> <input type="button" onclick="save()" value="新增记录"/> <hr/> <label for="search_site">输入网站名:</label> <input type="text" id="search_site" name="search_site"/> <input type="button" onclick="find()" value="查找网站"/> <p id="find_result"><br/></p> </div> 实现效果截图: 以上实例只是演示了简单的 localStorage 存储与查找,更多情况下我们存储的数据会更复杂。 接下来我们将使用 来存储对象数据, 可以将对象转换为字符串。 var site = new Object; ... var str = JSON.stringify(site); // 将对象转换为字符串 之后我们使用 方法将字符串转换为 JSON 对象: var site = JSON.parse(str); JavaScript 实现代码: save() 与 find() 方法 //保存数据 function save(){ var site = new Object; site.keyname = document.getElementById("keyname").value; site.sitename = document.getElementById("sitename").value; site.siteurl = document.getElementById("siteurl").value; var str = JSON.stringify(site); // 将对象转换为字符串 localStorage.setItem(site.keyname,str); alert("保存成功"); } //查找数据 function find(){ var search_site = document.getElementById("search_site").value; var str = localStorage.getItem(search_site); var find_result = document.getElementById("find_result"); var site = JSON.parse(str); find_result.innerHTML = search_site + "的网站名是:" + site.sitename + ",网址是:" + site.siteurl; } 完整实例如下: 实例 <div style="border: 2px dashed #ccc;width:320px;text-align:center;"> <label for="keyname">别名(key):</label> <input type="text" id="keyname" name="keyname" class="text"/> <br/> <label for="sitename">网站名:</label> <input type="text" id="sitename" name="sitename" class="text"/> <br/> <label for="siteurl">网 址:</label> <input type="text" id="siteurl" name="siteurl"/> <br/> <input type="button" onclick="save()" value="新增记录"/> <hr/> <label for="search_site">输入别名(key):</label> <input type="text" id="search_site" name="search_site"/> <input type="button" onclick="find()" value="查找网站"/> <p id="find_result"><br/></p> </div> 实例中的 loadAll 输出了所有存储的数据,你需要确保 localStorage 存储的数据都为 JSON 格式,否则 JSON.parse(str) 将会报错。 输出结果演示:
2018年05月11日
142 阅读
0 评论
0 点赞
2018-05-10
HTML(5) 代码规范
HTML(5) 代码规范 HTML 代码约定 很多 Web 开发人员对 HTML 的代码规范知之甚少。 在2000年至2010年,许多Web开发人员从 HTML 转换到 XHTML。 使用 XHTML 开发人员逐渐养成了比较好的 HTML 编写规范。 而针对于 HTML5 ,我们应该形成比较好的代码规范,以下提供了几种规范的建议。 使用正确的文档类型 文档类型声明位于HTML文档的第一行: <!DOCTYPE html> 如果你想跟其他标签一样使用小写,可以使用以下代码: <!doctype html> 使用小写元素名 HTML5 元素名可以使用大写和小写字母。 推荐使用小写字母: 混合了大小写的风格是非常糟糕的。 开发人员通常使用小写 (类似 XHTML)。 小写风格看起来更加清爽。 小写字母容易编写。 不推荐: <SECTION> <p>这是一个段落。</p></SECTION> 非常糟糕: <Section> <p>这是一个段落。</p></SECTION> 推荐: <section> <p>这是一个段落。</p></section> 关闭所有 HTML 元素 在 HTML5 中, 你不一定要关闭所有元素 (例如 <p> 元素),但我们建议每个元素都要添加关闭标签。 不推荐: <section> <p>这是一个段落。 <p>这是一个段落。 </section> 推荐: <section> <p>这是一个段落。</p> <p>这是一个段落。</p> </section> 关闭空的 HTML 元素 在 HTML5 中, 空的 HTML 元素也不一定要关闭: 我们可以这么写: <meta charset="utf-8"> 也可以这么写: <meta charset="utf-8" /> 在 XHTML 和 XML 中斜线 (/) 是必须的。 如果你期望 XML 软件使用你的页面,使用这种风格是非常好的。 使用小写属性名 HTML5 属性名允许使用大写和小写字母。 我们推荐使用小写字母属性名: 同时使用大小写是非常不好的习惯。 开发人员通常使用小写 (类似 XHTML)。 小写风格看起来更加清爽。 小写字母容易编写。 不推荐: <div CLASS="menu"> 推荐: <div class="menu"> 属性值 HTML5 属性值可以不用引号。 属性值我们推荐使用引号: 如果属性值含有空格需要使用引号。 混合风格不推荐的,建议统一风格。 属性值使用引号易于阅读。 以下实例属性值包含空格,没有使用引号,所以不能起作用: <table class=table striped> 以下使用了双引号,是正确的: <table class="table striped"> 图片属性 图片通常使用 alt 属性。 在图片不能显示时,它能替代图片显示。 <img src="html5.gif" alt="HTML5" style="width:128px;height:128px"> 定义好图片的尺寸,在加载时可以预留指定空间,减少闪烁。 <img src="html5.gif" alt="HTML5" style="width:128px;height:128px"> 空格和等号 等号前后可以使用空格。 <link rel = "stylesheet" href = "styles.css"> 但我们推荐少用空格: <link rel="stylesheet" href="styles.css"> 避免一行代码过长 使用 HTML 编辑器,左右滚动代码是不方便的。 每行代码尽量少于 80 个字符。 空行和缩进 不要无缘无故添加空行。 为每个逻辑功能块添加空行,这样更易于阅读。 缩进使用两个空格,不建议使用 TAB。 比较短的代码间不要使用不必要的空行和缩进。 不必要的空行和缩进: <body> <h1>菜鸟教程</h1> <h2>HTML</h2> <p> 菜鸟教程,学的不仅是技术,更是梦想。 菜鸟教程,学的不仅是技术,更是梦想。 菜鸟教程,学的不仅是技术,更是梦想, 菜鸟教程,学的不仅是技术,更是梦想。 </p></body> 推荐: <body><h1>菜鸟教程</h1><h2></h2> <p>菜鸟教程,学的不仅是技术,更是梦想。菜鸟教程,学的不仅是技术,更是梦想。菜鸟教程,学的不仅是技术,更是梦想。菜鸟教程,学的不仅是技术,更是梦想。</p></body> 表格实例: <table> <tr> <th>Name</th> <th>Description</th> </tr> <tr> <td>A</td> <td>Description of A</td> </tr> <tr> <td>B</td> <td>Description of B</td> </tr></table> 列表实例: <ol> <li>London</li> <li>Paris</li> <li>Tokyo</li></ol> 省略 <html> 和 <body>? 在标准 HTML5 中, <html> 和 <body> 标签是可以省略的。 以下 HTML5 文档是正确的: 实例: <!DOCTYPE html><head> <title>页面标题</title> </head> <h1>这是一个标题</h1><p>这是一个段落。</p> 不推荐省略 <html> 和 <body> 标签。 <html> 元素是文档的根元素,用于描述页面的语言: <!DOCTYPE html><html lang="zh"> 声明语言是为了方便屏幕阅读器及搜索引擎。 省略 <html> 或 <body> 在 DOM 和 XML 软件中会崩溃。 省略 <body> 在旧版浏览器 (IE9)会发生错误。 省略 <head>? 在标准 HTML5 中, <head>标签是可以省略的。 默认情况下,浏览器会将 <body> 之前的内容添加到一个默认的 <head> 元素上。 实例 <!DOCTYPE html><html><title>页面标题</title> <body> <h1>这是一个标题</h1> <p>这是一个段落。</p> </body></html> 现在省略 head 标签还不推荐使用。 元数据 HTML5 中 <title> 元素是必须的,标题名描述了页面的主题: <title>菜鸟教程</title> 标题和语言可以让搜索引擎很快了解你页面的主题: <!DOCTYPE html><html lang="zh"><head> <meta charset="UTF-8"> <title>菜鸟教程</title></head> HTML 注释 注释可以写在 <!-- 和 --> 中: <!-- 这是注释 --> 比较长的评论可以在 <!-- 和 --> 中分行写: <!-- 这是一个较长评论。 这是 一个较长评论。这是一个较长评论。 这是 一个较长评论 这是一个较长评论。 这是 一个较长评论。--> 长评论第一个字符缩进两个空格,更易于阅读。 样式表 样式表使用简洁的语法格式 ( type 属性不是必须的): <link rel="stylesheet" href="styles.css"> 短的规则可以写成一行: p.into {font-family: Verdana; font-size: 16em;} 长的规则可以写成多行: body { background-color: lightgrey; font-family: "Arial Black", Helvetica, sans-serif; font-size: 16em; color: black;} 将左花括号与选择器放在同一行。 左花括号与选择器间添加一个空格。 使用两个空格来缩进。 冒号与属性值之间添加一个空格。 逗号和符号之后使用一个空格。 每个属性与值结尾都要使用分号。 只有属性值包含空格时才使用引号。 右花括号放在新的一行。 每行最多 80 个字符。 在逗号和冒号后添加空格是常用的一个规则。 在 HTML 中载入 JavaScript 使用简洁的语法来载入外部的脚本文件 ( type 属性不是必须的 ): <script src="myscript.js"> 使用 JavaScript 访问 HTML 元素 一个糟糕的 HTML 格式可能会导致 JavaScript 执行错误。 以下两个 JavaScript 语句会输出不同结果: 实例 var obj = getElementById("Demo")var obj = getElementById("demo") HTML 中 JavaScript 尽量使用相同的命名规则。 。 使用小写文件名 大多 Web 服务器 (Apache, Unix) 对大小写敏感: london.jpg 不能通过 London.jpg 访问。 其他 Web 服务器 (Microsoft, IIS) 对大小写不敏感: london.jpg 可以通过 London.jpg 或 london.jpg 访问。 你必须保持统一的风格,我们建议统一使用小写的文件名。 文件扩展名 HTML 文件后缀可以是 .html (或 .htm)。 CSS 文件后缀是 .css 。 JavaScript 文件后缀是 .js 。 .htm 和 .html 的区别 .htm 和 .html 的扩展名文件本质上是没有区别的。浏览器和 Web 服务器都会把它们当作 HTML 文件来处理。 区别在于: .htm 应用在早期 DOS 系统,系统现在或者只能有三个字符。 在 Unix 系统中后缀没有特别限制,一般用 .html。 技术上区别 如果一个 URL 没有指定文件名 (如 http://www.runoob.com/css/), 服务器会返回默认的文件名。通常默认文件名为 index.html, index.htm, default.html, 和 default.htm。 如果服务器只配置了 "index.html" 作为默认文件,你必须将文件命名为 "index.html", 而不是 "index.htm"。 但是,通常服务器可以设置多个默认文件,你可以根据需要设置默认文件名。 不管怎样,HTML 完整的后缀是 ".html"。
2018年05月10日
129 阅读
0 评论
0 点赞
2018-05-06
MySQL 管理
MySQL 管理启动及关闭 MySQL 服务器首先,我们需要通过以下命令来检查MySQL服务器是否启动: ps -ef | grep mysqld 如果MySql已经启动,以上命令将输出mysql进程列表, 如果mysql未启动,你可以使用以下命令来启动mysql服务器: root@host# cd /usr/bin ./mysqld_safe & 如果你想关闭目前运行的 MySQL 服务器, 你可以执行以下命令: root@host# cd /usr/bin ./mysqladmin -u root -p shutdown Enter password: ****** MySQL 用户设置如果你需要添加 MySQL 用户,你只需要在 mysql 数据库中的 user 表添加新用户即可。以下为添加用户的的实例,用户名为guest,密码为guest123,并授权用户可进行 SELECT, INSERT 和 UPDATE操作权限: root@host# mysql -u root -p Enter password:******* mysql> use mysql; Database changed mysql> INSERT INTO user (host, user, password, select_priv, insert_priv, update_priv) VALUES ('localhost', 'guest', PASSWORD('guest123'), 'Y', 'Y', 'Y'); Query OK, 1 row affected (0.20 sec) mysql> FLUSH PRIVILEGES; Query OK, 1 row affected (0.01 sec) mysql> SELECT host, user, password FROM user WHERE user = 'guest'; +-----------+---------+------------------+ | host | user | password | +-----------+---------+------------------+ | localhost | guest | 6f8c114b58f2ce9e | +-----------+---------+------------------+ 1 row in set (0.00 sec) 在添加用户时,请注意使用MySQL提供的 PASSWORD() 函数来对密码进行加密。 你可以在以上实例看到用户密码加密后为: 6f8c114b58f2ce9e.注意:在 MySQL5.7 中 user 表的 password 已换成了authentication_string。注意:在注意需要执行 FLUSH PRIVILEGES 语句。 这个命令执行后会重新载入授权表。如果你不使用该命令,你就无法使用新创建的用户来连接mysql服务器,除非你重启mysql服务器。你可以在创建用户时,为用户指定权限,在对应的权限列中,在插入语句中设置为 'Y' 即可,用户权限列表如下: Select_priv Insert_priv Update_priv Delete_priv Create_priv Drop_priv Reload_priv Shutdown_priv Process_priv File_priv Grant_priv References_priv Index_priv Alter_priv 另外一种添加用户的方法为通过SQL的 GRANT 命令,以下命令会给指定数据库TUTORIALS添加用户 zara ,密码为 zara123 。 root@host# mysql -u root -p Enter password:******* mysql> use mysql; Database changed mysql> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP -> ON TUTORIALS.* -> TO 'zara'@'localhost' -> IDENTIFIED BY 'zara123'; 以上命令会在mysql数据库中的user表创建一条用户信息记录。注意: MySQL 的SQL语句以分号 (;) 作为结束标识。/etc/my.cnf 文件配置一般情况下,你不需要修改该配置文件,该文件默认配置如下: [mysqld] datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock [mysql.server] user=mysql basedir=/var/lib [safe_mysqld] err-log=/var/log/mysqld.log pid-file=/var/run/mysqld/mysqld.pid 在配置文件中,你可以指定不同的错误日志文件存放的目录,一般你不需要改动这些配置。管理MySQL的命令以下列出了使用Mysql数据库过程中常用的命令: USE 数据库名 :选择要操作的Mysql数据库,使用该命令后所有Mysql命令都只针对该数据库。 mysql> use RUNOOB; Database changed SHOW DATABASES:列出 MySQL 数据库管理系统的数据库列表。 mysql> SHOW DATABASES; +--------------------+ | Database | +--------------------+ | information_schema | | RUNOOB | | cdcol | | mysql | | onethink | | performance_schema | | phpmyadmin | | test | | wecenter | | wordpress | +--------------------+ 10 rows in set (0.02 sec) SHOW TABLES:显示指定数据库的所有表,使用该命令前需要使用 use 命令来选择要操作的数据库。 mysql> use RUNOOB; Database changed mysql> SHOW TABLES; +------------------+ | Tables_in_runoob | +------------------+ | employee_tbl | | runoob_tbl | | tcount_tbl | +------------------+ 3 rows in set (0.00 sec) SHOW COLUMNS FROM 数据表:显示数据表的属性,属性类型,主键信息 ,是否为 NULL,默认值等其他信息。 mysql> SHOW COLUMNS FROM runoob_tbl; +-----------------+--------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-----------------+--------------+------+-----+---------+-------+ | runoob_id | int(11) | NO | PRI | NULL | | | runoob_title | varchar(255) | YES | | NULL | | | runoob_author | varchar(255) | YES | | NULL | | | submission_date | date | YES | | NULL | | +-----------------+--------------+------+-----+---------+-------+ 4 rows in set (0.01 sec) SHOW INDEX FROM 数据表:显示数据表的详细索引信息,包括PRIMARY KEY(主键)。 root@host# cd /usr/bin ./mysqld_safe & 0 SHOW TABLE STATUS LIKE [FROM db_name] [LIKE 'pattern'] /G:该命令将输出Mysql数据库管理系统的性能及统计信息。 root@host# cd /usr/bin ./mysqld_safe & 1 Gif 图演示:
2018年05月06日
141 阅读
0 评论
0 点赞
2018-05-05
JavaScript 字符串
JavaScript 字符串JavaScript 字符串用于存储和处理文本。JavaScript 字符串字符串可以存储一系列字符,如 "John Doe"。字符串可以是插入到引号中的任何字符。你可以使用单引号或双引号:实例var carname = "Volvo XC60";var carname = 'Volvo XC60';你可以使用索引位置来访问字符串中的每个字符:实例var character = carname[7];字符串的索引从 0 开始,这意味着第一个字符索引值为 [0],第二个为 [1], 以此类推。你可以在字符串中使用引号,字符串中的引号不要与字符串的引号相同:实例var answer = "It's alright";var answer = "He is called 'Johnny'";var answer = 'He is called "Johnny"';你也可以在字符串添加转义字符来使用引号:实例var x = 'It/'s alright';var y = "He is called /"Johnny/"";字符串长度可以使用内置属性 length 来计算字符串的长度:实例var txt = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";var sln = txt.length;特殊字符在 JavaScript 中,字符串写在单引号或双引号中。因为这样,以下实例 JavaScript 无法解析: "We are the so-called "Vikings" from the north."字符串 "We are the so-called " 被截断。如何解决以上的问题呢?可以使用反斜杠 (/) 来转义 "Vikings" 字符串中的双引号,如下: "We are the so-called /"Vikings/" from the north." 反斜杠是一个转义字符。 转义字符将特殊字符转换为字符串字符:转义字符 (/) 可以用于转义撇号,换行,引号,等其他特殊字符。下表中列举了在字符串中可以使用转义字符转义的特殊字符: 代码 输出 /' 单引号 /" 双引号 // 反斜杠 /n 换行 /r 回车 /t tab(制表符) /b 退格符 /f 换页符 字符串可以是对象通常, JavaScript 字符串是原始值,可以使用字符创建: var firstName = "John"但我们也可以使用 new 关键字将字符串定义为一个对象: var firstName = new String("John")实例var x = "John";var y = new String("John");typeof x // 返回 Stringtypeof y // 返回 Object 不要创建 String 对象。它会拖慢执行速度,并可能产生其他副作用: 实例var x = "John"; var y = new String("John");(x === y) // 结果为 false,因为 x 是字符串,y 是对象=== 为绝对相等,即数据类型与值都必须相等。字符串属性和方法原始值字符串,如 "John", 没有属性和方法(因为他们不是对象)。原始值可以使用 JavaScript 的属性和方法,因为 JavaScript 在执行方法和属性时可以把原始值当作对象。字符串方法我们将在下一章节中介绍。字符串属性 属性 描述 constructor 返回创建字符串属性的函数 length 返回字符串的长度 prototype 允许您向对象添加属性和方法 字符串方法更多方法实例可以参见:。 方法 描述 charAt() 返回指定索引位置的字符 charCodeAt() 返回指定索引位置字符的 Unicode 值 concat() 连接两个或多个字符串,返回连接后的字符串 fromCharCode() 将 Unicode 转换为字符串 indexOf() 返回字符串中检索指定字符第一次出现的位置 lastIndexOf() 返回字符串中检索指定字符最后一次出现的位置 localeCompare() 用本地特定的顺序来比较两个字符串 match() 找到一个或多个正则表达式的匹配 replace() 替换与正则表达式匹配的子串 search() 检索与正则表达式相匹配的值 slice() 提取字符串的片断,并在新的字符串中返回被提取的部分 split() 把字符串分割为子字符串数组 substr() 从起始索引号提取字符串中指定数目的字符 substring() 提取字符串中两个指定的索引号之间的字符 toLocaleLowerCase() 根据主机的语言环境把字符串转换为小写,只有几种语言(如土耳其语)具有地方特有的大小写映射 toLocaleUpperCase() 根据主机的语言环境把字符串转换为大写,只有几种语言(如土耳其语)具有地方特有的大小写映射 toLowerCase() 把字符串转换为小写 toString() 返回字符串对象值 toUpperCase() 把字符串转换为大写 trim() 移除字符串首尾空白 valueOf() 返回某个字符串对象的原始值
2018年05月05日
93 阅读
0 评论
0 点赞
1
2
...
8