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简介 ...
随机推荐
- 使用Gird++打印出现“Retrieving the COM class factory for component with CLSID”的解决办法
我们的接口需要返回一个gird++生成PDF文件的二进制数据,在本地测试都很好,发布到服务器上一直出现“Retrieving the COM class factory for component w ...
- Android-兼容问题
兼容性问题从何而来?答:使用了低版本没有的功能,可是目标设备包括低版本. 那我们如何解决兼容性问题? 1.如果是JAVA代码 1.1 使用TargetApi(x)注解,避免Android Lint报错 ...
- eclipse中安装genymotion
在eclipse中安装genymotion.安装genymotion需要先安装virtualbox.选择Help选项中的install new software 然后点击进去点击ADD,在locati ...
- Swift--集合类型 数组 字典 集合
数组 1.创建一个数组 var someInts = [Int]()空数组 someInts = []清空 var threeDoubles = Array(repeating: 0.0, count ...
- 一、webpack那点事-安装、环境搭建
前言: 还记得两年前刚来公司才几个月,经理就安排我去做JS地图相关的维护和开发工作,然后就跟着一个公司老鸟(没俩月他离职了)熟悉地图相关的功能. 本人嘛,那会前端JS实际开发经验也才几个月,然后当我看 ...
- bootstrap 模版
<!DOCTYPE html> <html lang="zh-cn"> <head> <meta charset="utf-8& ...
- Decimal:解决0.3 != 0.1+0.1+0.1的方法(十进制浮点数)
0.普通情况 1.引入Decimal 也可以这样引入: from decimal import Decimal as D 相当于: from decimal import Decimal D = De ...
- python中的super
super用于类的继承.用super()代替父类名 (一)通过类名调用父类中的方法 (二 ...
- Hibernate学习笔记--使用ThreadLocal
参考资料: http://blog.sina.com.cn/s/blog_7ffb8dd5010146i3.html http://lavasoft.blog.51cto.com/62575/5192 ...
- 从事web前端的这些日子
不知不觉从事web前端快要一年了,在这一年的时间,自己的技术也得到了不小的进步,但毕竟还是停留在摸索的阶段,前端的这条路还有很长的路要走,前端要掌握的东西太多,知识也在频繁的更新.每天在群里和别人的交 ...