JS高级程序设计学习笔记之基本包装类型
- 概述
基本类型:string、boolean、number
每当读取一个基本类型的值的时候,后台就会创建一个对应的基本包装类型的对象,从而让我们能够调用一些方法来操作这些数据。
使用new操作符创建的引用类型的实例,在执行流离开当前作用域之前都一直保存在内存中。而自动创建的基本包装类型的对象,则只存在于一行代码执行的瞬间,然后立即销毁。
对基本包装类型的实例调用typeof会返回"object",而且所有基本包装类型的对象都会被转换为布尔值true。
Object构造函数会像工厂方法一样,根据传入值的类型返回相应基本包装类型的实例。
使用new调用基本包装类型的构造函数,与直接调用同名的转型函数是不一样的。例如:
Var value = "25";
Var number = Number(value); //转型函数 var obj = new number(value);//构造函数
Alert(typeof number);// "number"; Alert(typeof obj);// "object";
- 布尔类型
布尔表达式中的所有对象都会转换为true。
Typeof操作符对基本类型返回boolean,对引用类型返回object。
Instanceof操作符测试boolean对象返回true,对基本类型的布尔值返回false。
- number类型
valueof()方法返回对象表示的基本类型的数值,toString()与toLocalString()返回字符串形式的数值。对toString()传递一个参数,告诉他返回几进制。
toFixed()方法会按照指定的小数位返回数值的字符串表示。
toExponential(),接收一个参数,以指数形式返回。
toPrecision(),接收一个参数,返回一个格式适合的值(表示小数)。
Typeof测试基本类型数值时返回number,测试number对象时返回object。
- string类型
valueof(),toString(),toLocalString(),返回对象所表示的基本字符串的值。
String类型的每一个实例都有一个length属性,表示字符串中包含多少字符。
- 字符方法:用于访问字符串中特定字符的方法。接收一个参数,基于0的字符串位置
charAt()返回单个字符。charCodeAt()返回字符的字符编码。使用方括号加数字索引来访问字符(IE7以下不支持)。
- 字符串操作方法:
Concat();
基于子字符串创建新字符串:slice(),substr(),substring()。返回被操作字符串的一个子字符串。接受一到两个参数,第一个参数指定哪里开始,第二个参数指定哪里结束
Slice()和substring()第二个参数指定子字符串最后一个字符后面的位置。Substr()第二个参数指定返回的字符个数
- 字符串位置方法:indexOf()与lastIndexOf()从一个字符串中搜索给定字符串,返回他的位置,若未找到,返回-1。接受第二个参数表示搜索开始的位置。
- Trim()方法,创建一个字符串的副本,删除前置及后缀的所有空格,然后返回结果。
- 大小写转换:toLowerCase()与toUpperCase()。
- 字符串的模式匹配方法:
Match(),接受一个参数,正则表达式或RegExp对象
Search(),参数同上,返回匹配项的索引,未找到返回-1。
Replace(),第一个参数RegExp或者字符串,第二个参数字符串或者函数
fromCharCode(),接受多个字符编码,把他们转换成一个字符串。
JS高级程序设计学习笔记之基本包装类型的更多相关文章
- JS高级程序设计学习笔记之第三章基本概念(语法,数据类型,流控制语句,函数)——查漏补缺
一.语法: 区分大小写; 2.标识符:就是指变量.函数.属性的名字,或者函数的参数 a.标志符的规则:①第一个字符必须是一个字母.下划线(_)或一个美元符号($). ...
- JS高级程序设计学习笔记——继承
我们知道,在OO语言中,继承可分为接口继承和实现继承.而ECMAScript的函数没有签名,不能实现“接口继承”,只能通过原型链实现“实现继承”. 在学习了各种继承模式之后,简单总结一下各种继承模式的 ...
- JS高级程序设计学习笔记1
javascript产生的原因: 在拨号上网时代,表单数据必须发送到服务器端才能验证输入值得有效性,JavaScript的研发就是为了解决这个问题,以便在客户端就验证输入值的有效性. ECMAScri ...
- JS高级程序设计学习笔记之RegExp类型
创建正则表达式: 字面量形式定义正则表达式: Var expression = / pattern /flags ;pattern部分可以使任意简单或复杂的正则表达式.每个正则表达式可以带有一个或多个 ...
- JS高级程序设计学习笔记之Date类型
日期对象的创建:var now =new Date(),不传递参数时,对象自动获取当前时间.(若要创建特定日期与时间的对象,必须传入该日期距离1970/1/1零点的毫秒数). Date.parse() ...
- JS高级程序设计学习笔记之数组
数组创建的方式 var str = new Array();放入数字即为设置数组长度 var str = []; 数组的length可读可写 监测数组 Array.isArray()方法确定某个值是不 ...
- JS高级程序设计学习笔记之JS事件(1)
事件流 冒泡 定义:事件开始时由最具体的元素接收,然后逐级上传到较为不具体的节点.(IE9.FF.Chrome.Safari会将事件一直冒泡到window对象.IE5.5及其以下会跳过<html ...
- 《JS高级程序设计》笔记 —— 解析查询字符串
今天在继续翻阅<JS高级程序设计>的时候,正好翻到location对象这一小节,其中有一部分就是讲的解析查询字符串.看到这个内容立马想到了做去哪儿秋招笔试题的时候有这么一道题. 去哪儿笔试 ...
- javascript高级程序设计学习笔记
javascript高级程序设计,当枕头书已经好久了~zz 现在觉得自己在js的开发上遇到了一些瓶颈,归根究底还是基础太薄弱,所以重新刷一遍js高程希望有更新的认识. 一.javascript简介 ...
随机推荐
- effective_c++条款20,用pass-by-reference-to-const替换pass-by-value
pass-by-value void f(A a); 1)导致复制是浪费资源 2)多态是导致对象切割 所以我们使用 void f(const A& a) 上面的话针对class,不针对基本类型 ...
- 左右推拽显示对比图 - jQyery封装 - 附源文件
闲来无事,做了一个模块效果 左右拖拽显示对比图,是用jq封装的 利用鼠标距离左侧(0,0)坐标的横坐标位移来控制绝对定位的left值 再配合背景图fixed属性,来制作视觉差效果 代码如下 <! ...
- 分享QQ第三方登陆SDK
主要是考虑到QQ的PHP SDK写的真是太烂了,纯属是普及API知识,而不是到手就可以部署的类库..反正自己都写了一个了,就拿出来分享下.. 什么也不多说,直接上代码. Qq_sdk.php < ...
- .Net SSRS(rdlc) 报表经验总结
排版 1. 可以利用表格来布局,以避免调整固定宽度的麻烦. 2. 一个表的表头里还可以嵌套表格. 3. 设置rdlc报表打印格式.首先打开RDLC报表设计器页面.在灰色部分点右键 -> 报表属性 ...
- Visual studio 内存不足的解决方案(out of memory)
编译Visual Studio项目,如果出现"out of memory "的编译错误,可以进行如下操作,加大应用程序可以使用的内存. 请先备份好系统和设置好系统还原点,大体步骤是 ...
- Android 颜色大全 (colors.xml )
<resources> <color name="pink">#ffc0cb</color><!--粉红色 --> <colo ...
- 【转】const的用法,特别是用在函数前面与后面的区别!
在普通的非 const成员函数中,this的类型是一个指向类类型的 const指针.可以改变this所指向的值,但不能改变 this所保存的地址. 在 const成员函数中,this的类型是一个指向 ...
- 自制单片机之八……USB-ISP下载线
现在的笔记本包括台式机都渐渐地舍弃了并口.串口:很多网友也跟我说,台式没有并口了,下载线没法用了,让我帮他想想办法.看来做个USB-ISP下载线是势在必行了. 在网上搜了下,主要有两种方案,一种是用F ...
- TranslateAnimation详解
TranslateAnimation详解 Android JDK为我们提供了4种动画效果,分别是: AlphaAnimation,RotateAnimation, ScaleAnimation, Tr ...
- 传智播客8月C/C++基础班开班
秋天已经向我们走来,在这个充满收获的季节里,大家齐聚传智C/C++学院这个大家庭,无论你曾经从事什么工作,都拥有着一颗热爱C/C++的心,为了自己心中的梦想,大家要付出百倍的努力,要做到&quo ...