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简介 ...
随机推荐
- C#。4.1数组的应用
数组的应用 (一).冒泡排序.1.冒泡排序是用双层循环解决.外层循环的是趟数,里层循环的是次数.2.趟数=n-1:次数=n-趟数.3.里层循环使用if比较相临的两个数的大小,进行数值交换. 代码 in ...
- OD: Exploit Me - Inject Instruction
修改之前的代码: #include<stdio.h> #include<stdlib.h> #include<string.h> #include<windo ...
- sqlserver编程基本语法
一.定义变量 --简单赋值 declare @a int set @a=5 print @a --使用select语句赋值 declare @user1 nvarchar(50) select @ ...
- oracle开机自启动-超简单
1. 在/etc/oratab中作如下修改$ORACLE_SID:$ORACLE_HOME:Y例如vi /etc/orataborcl:/u01/app/oracle/product/10.2.0/d ...
- WPF采用MVVM模式(绑定:纯前台、命令:触发器绑定命令)
MVVM绑定 view-viewModel-model,模型介绍省略,就是创建类,添加字段封装属性.注:控件的绑定只能绑定到属性上,不能绑定到字段上: 接下来就是代码 (view): <Wind ...
- php之类,对象(二)继承性,static静态的,const常量
三大特性 之二 继承性: 1.概念:如果一个类有子类,那么该子类会继承父类的一切东西,但私有成员访问不到. 2.在定义子类时需要加关键字:extends class Text extends Info ...
- linux清理僵尸进程
查看服务器时发现好3个僵尸进程,僵尸进程存在好多天了,一直不会处理,留到了今天,顺便清理下僵尸进程吧 top命令中统计了僵尸进程,是第二行最后一项3 zombie. 或者使用下面的命令得到僵尸进程数量 ...
- rsync相关整理
第一部分 rsync服务端配置 1.下载安装 a. yum安装. yum install rsync b. 下载rsync安装文件安装 #tar zxvf rsync-2.6.9 ...
- AMS1117典型电路
AMS1117(3.3V.5V) 封装: 常见应用连接: 1.输入旁路电容Input Bypass Capacitor:A 10uF tantalum on the input is a suitab ...
- 如何在Protel99se中批量修改元件的封装
有时候需要批量修改元件的封装,可在原理图和PCB中批量修改.本文以批量修改电阻AXIAL0.3 的封装为AXIAL0.4 为例. 1. 在原理图中批量修改1.1. 方法1双击需要修改封装的其中一个元件 ...