JavaScript必知必会(三) String .的方法来自何方

String

我们知道javascript 包括:number,string,boolean,null,undefined 基本类型和Object 类型。

在我的认知中,方法属性应该是对象才可以具有的。

var str="hello,world";
var s=str.subString(,);//ell
alert(typeof(str)+":"+typeof(s));//string:string 

从上面的返回类型来看,str是string 类型的。

再看下面的 如何使用全局对象声明一个字符串。

var c=new String(str);
alert(typeof(c));//Object<br>alert(c.toString());//hello,world 

那我能不能认为: 当我处理字符串的时候,

javascript编译器先把str字符串,使用new String(str);成了对象。然后在调用其处理办法,然后使用toString()方法返回个字符串呢。

临时对象的创建和销毁

从上面的实例我知道javascript在处理字符串、number,boolean 时就会创建临时对象,然后销毁。

var a = "hello,world";
var c = new String(a); //创建了string 对象。
c.len = ;
alert(typeof (c));//object;
alert(c.len);//
///////////////////////////////////////////////////////////////////////
a.len=;
alert(a.len);//undefined 

  a.len 编译器没有报错,是因为创建的临时对象操作完后,又销毁了。

==和===

a==c ;//true;
a===c;//false; 字符串和object是不等的。 

以上所述是小编给大家介绍的JavaScript必知必会(三) String .的方法来自何方的相关知识,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!

时间: 2016-06-06

JS 对象(Object)和字符串(String)互转方法

利用原生JSON对象,将对象转为字符串 var jsObj = {}; jsObj.testArray = [1,2,3,4,5]; jsObj.name = 'CSS3'; jsObj.date = '8 May, 2011'; var str = JSON.stringify(jsObj); alert(str); 从JSON字符串转为对象 var jsObj = {}; jsObj.testArray = [1,2,3,4,5]; jsObj.name = 'CSS3'; jsObj.da

从string类的实现看C++类的四大函数(面试常见)

朋友面试的一道面试题,分享给大家,面试官经常会问到的,实现string类的四大基本函数必掌握. 一个C++类一般至少有四大函数,即构造函数.拷贝构造函数.析构函数和赋值函数,一般系统都会默认.但是往往系统默认的并不是我们所期望的,为此我们就有必要自己创造他们.在创造之前必须了解他们的作用和意义,做到有的放矢才能写出有效的函数. #include <iostream> class CString { friend std::ostream & operator<<(std::

详解Swift中的Characters字符类型与String字符串类型

一.引言 Swift中提供了String类型与Characters类型来处理字符串和字符数据,Swift中的String类型除了提供了许多方便开发者使用的方法外,还可以与Foundation框架的NSString类进行转换,使用起来十分方便. 二.String基础 在Swift中,使用双引号来定义字符串,开发者可以通过如下代码来创建一个字符串常量: let str = "Hello, playground" 可以通过下面两种方式来创建空字符串: let str1 = "&qu

C++中string的模拟实现

c++中的string类可以实现字符串对象的一系列操作,如下图就是从cplusplus上截取的string的一部分功能: 接下来我就简单模拟几个函数实现 首先,我们要给出完整的string类,包括构造函数,析构函数,私有成员char* str 并且在类内声明要实现的函数(本文我只实现了operator=,operator[ ],pushback(),以及三个operator+=,五个insert等) #include<iostream> #include<cstring> usin

详解C++中StringBuilder类的实现及其性能优化

介绍 经常出现客户端打电话抱怨说:你们的程序慢如蜗牛.你开始检查可能的疑点:文件IO,数据库访问速度,甚至查看web服务. 但是这些可能的疑点都很正常,一点问题都没有. 你使用最顺手的性能分析工具分析,发现瓶颈在于一个小函数,这个函数的作用是将一个长的字符串链表写到一文件中. 你对这个函数做了如下优化:将所有的小字符串连接成一个长的字符串,执行一次文件写入操作,避免成千上万次的小字符串写文件操作. 这个优化只做对了一半. 你先测试大字符串写文件的速度,发现快如闪电.然后你再测试所有字符串拼接的速

golang实现unicode转换为字符串string的方法

本文实例讲述了golang实现unicode转换为字符串string的方法.分享给大家供大家参考,具体如下: 复制代码 代码如下: package main import (     "bytes"     "encoding/binary"     "encoding/hex"     "fmt"     "strings" ) func main() {     str := `\u5bb6\u65cf

Javascript之String对象详解

String 对象用于处理文本(字符串). 1.创建String 复制代码 代码如下: var str = "Hello World"; var str1 = new String(str); var str = String("Hello World"); 此三种方法都可以,但是略有区别 2.length属性--->返回字符串的长度 3.anchor() 方法用于创建 HTML 锚. HTML锚是什么? 就是<a ...>...</a>

简单总结JavaScript中的String字符串类型

String类型表示由0或多个16位Unicode字符组成的字符序列,即字符串.ECMAScript中的字符串是不可变的,也就是说,字符串一旦创建,它们的值就不能改变.要改变某个变量保存的字符串,首先要销毁原来的字符串(此过程是在后台发生的),然后再用另一个包含新值的字符串填充该变量 字符字面量/转义序列: \n 换行 \t 制表 \r 回车 \b 空格 \f 换页符 \\ 斜杠 \' 单引号 \" 双引号 \xnn \unnn 字符串转换:两个方法 1.toString():只有null和un

js字符串截取函数slice、substring和substr的比较

在js中字符截取函数有常用的三个slice().substring().substr()了,下面我来给大家介绍slice().substring().substr()函数在字符截取时的一些用法与区别吧. 取字符串的三个函数:slice(start,[end]),substring(start,[end])和substr(start,[length]) 相关属性: slice() 第一个参数代表开始位置,第二个参数代表结束位置的下一个位置,截取出来的字符串的长度为第二个参数与第一个参数之间的差;若

CI框架源码解读之URI.php中_fetch_uri_string()函数用法分析

本文实例讲述了CI框架URI.php中_fetch_uri_string()函数用法.分享给大家供大家参考,具体如下: APPPATH/config/config.php中对于url 格式的拟定. $config['uri_protocol'] = 'AUTO'; 这个配置项目定义了你使用哪个服务器全局变量来拟定URL. 默认的设置是auto,会把下列四个方式轮询一遍.当你的链接不能工作的时候,试着用用auto外的选项. 'AUTO'            Default - auto dete

CI框架源码解读之利用Hook.php文件完成功能扩展的方法

本文实例讲述了CI框架源码解读之利用Hook.php文件完成功能扩展的方法.分享给大家供大家参考,具体如下: 看了hook.php的源码,就知道CI使用hook来进行扩展的原理了. hook的基本知识 http://codeigniter.org.cn/user_guide/general/hooks.html CI中hook的使用经历了一个:开启hook,定义hook,调用hook,执行hook的过程. 手册中已经告知了开启.定义.调用的方法.那么hook的实现原理是啥呢. <?php if

CI框架源码阅读,系统常量文件constants.php的配置

配置系统常量 1.当文件系统工作的时候检查并配置这些首选项文件系统运行的时候这些默认的值会适当的增加系统的安全性,但是在php或apache的底层单独的为每各用户开一个进程的时候,使用八进制的值永远是正确的FILE_READ_MODE 读取文件的模式FILE_WRITE_MODE   写入文件的模式DIR_READ_MODE   读取目录的模式DIR_WRITE_MODE 写入目录的模式 2.文件流模式当我们使用fopen()/popen()的时候需要这些模式define('FOPEN_READ

jQuery选择器源码解读(七):elementMatcher函数

要读懂Sizzle的Compile执行过程,首先需要弄清楚涉及的各个子程序的功能和关键变量和作用,我将逐一对jQuery-1.10.2版本的Compile代码进行说明,望能给予大家帮助. elementMatcher(matchers) 1.源码 复制代码 代码如下: function elementMatcher(matchers) {  return matchers.length > 1 ? function(elem, context, xml) {   var i = matchers

jQuery选择器源码解读(八):addCombinator函数

function addCombinator(matcher, combinator, base) 1.源码 复制代码 代码如下: function addCombinator(matcher, combinator, base) {  var dir = combinator.dir, checkNonElements = base    && dir === "parentNode", doneName = done++; return combinator.fir

Ajax::prototype 源码解读

AJAX之旅(1):由prototype_1.3.1进入javascript殿堂-类的初探  还是决定冠上ajax的头衔,毕竟很多人会用这个关键词搜索.虽然我认为这只是个炒作的概念,不过不得不承认ajax叫起来要方便多了.所以ajax的意思我就不详细解释了. 写这个教程的起因很简单:经过一段时间的ajax学习,有一些体会,并且越发认识到ajax技术的强大,所以决定记录下来,顺便也是对自己思路的整理.有关这个教程的后续,请关注http://www.x2design.net 前几年,javascri

Bootstrap源码解读下拉菜单(4)

源码解读Bootstrap下拉菜单 基本用法 在使用Bootstrap框架的下拉菜单时,必须调用Bootstrap框架提供的bootstrap.js文件.因为Bootstrap的组件交互效果都是依赖于jQuery库写的插件,所以在使用bootstrap.min.js之前一定要先加载jquery.min.js才会生效果. 使用方法如下: 1. 使用一个名为"dropdown"的容器包裹了整个下拉菜单元素:<div class="dropdown"><

Bootstrap源码解读表单(2)

源码解读Bootstrap表单 基础表单 对于基础表单,Bootstrap并未对其做太多的定制性效果设计,仅仅对表单内的fieldset.legend.label标签进行了定制.主要将这些元素的margin.padding和border等进行了细化设置. 这些元素如果使用了类名"form-control",将会实现一些设计上的定制效果. 1. 宽度变成了100% 2. 设置了一个浅灰色(#ccc)的边框 3. 具有4px的圆角 4. 设置阴影效果,并且元素得到焦点之时,阴影和边框效果会

SpringMVC源码解读之HandlerMapping - AbstractUrlHandlerMapping系列request分发

AbstractHandlerMapping实现HandlerMapping接口定的getHandler 1. 提供getHandlerInternal模板方法给子类实现      2. 如果没有获取Handler,则使用默认的defaultHandler 3. 如果handler是string类型,从context获取实例 4. 通过getHandlerExecutionChain封装handler,添加interceptor // AbstractHandlerMapping /** * L

关于PyTorch源码解读之torchvision.models

PyTorch框架中有一个非常重要且好用的包:torchvision,该包主要由3个子包组成,分别是:torchvision.datasets.torchvision.models.torchvision.transforms. 这3个子包的具体介绍可以参考官网: http://pytorch.org/docs/master/torchvision/index.html. 具体代码可以参考github: https://github.com/pytorch/vision/tree/master/