回顾

1.什么是基本类型?

共5个。boolean,string,number,null,undefined.

2.什么是引用类型?

引用类型的值是对象,保存在堆内存中;

引用类型的变量实际上是一个指针,它保存在栈中,指向堆内存中的对象;

包括:object  array  date  regexp  function

3.什么是基本包装类型?

既是基本,也是引用,所以叫做基本引用类型。

基本包装类型是对基本数据类型的封装,封装后即具有基本类型的功能,也有各自的特殊行为(方法)

4.和基本类型有什么区别?

区别在于对象的'生存期'。基本包装类型只存在于代码的执行瞬间,然后立即被销毁。

Boolean类型:

  typeof对基本类型返回“boolean”,而对引用类型返回“object”。

  其次,由于Boolean对象是Boolean类型的实例,所以使用instanceof操作符测试Boolean对象会返回true,而测试基本类型的布尔值则返回false。

  建议永远不要使用Boolean对象!

Number类型:

  创建number对象,可以在调用Number构造函数时向其中传递相应的数值:

var numberObject = new Number(10);

  Number类型还提供一些用于将数值格式化为字符串的方法:toFixed()方法

  

1.toFixed()方法会按照指定的小数位返回数值的字符串表示:(即以0填补必要的小数位)

var num=10;
alert(num.toFixed(2)); //"10.00

  

2.toExponential(),该方法返回以指数表示法(e表示法)表示的数值的字符串形式。也可以接收一个参数,指定输出结果中的小数位数。

3.toPrecision()方法

可能会返回固定大小格式,也可能返回指数(exponential)格式;具体规则是看哪种格式合适。可以接收一个参数,表示数值的所有数字的位数(不包括指数部分):

var num = 99;
alert(num.toPrecision(1));//"1e+2"
alert(num.toPrecision(2));//"99"
alert(num.toPrecision(3));//"99.0"

注意:typeof 测试基本类型,返回number;测试number对象时,返回“object”。number对象是number类型的实例,而基本类型的数值则不是。

String()方法:

var stringObject = new String("hello world");

//length属性
var stringValue = "hello world";
alert(stringValue.length); //"11"

1.字符方法:

  两个:charAt()和charCodeAt()

//charAt()方法以单字符字符串的形式返回给定位置的那个字符
var stringValue = "hello world";
alert(stringValue.charAt(1)); //"e"
//【字符编码】形式返回给定位置的字符
var stringValue = "hello world";
alert(stringValue.charCodeAt(1)); //"101"

2.字符串操作方法

  concat():拼接字符串,返回拼接后的新字符串

var stringValue = "hello ";
var result = stringValue.concat("world");
alert(result); //hello world
alert(stringValue); //hello
//可以接收任意多个参数,即拼接任意多个字符串
var stringValue = "hello ";
var result = stringValue.concat("world","!"); alert(result);
alert(stringValue);

  str(),substring(),substr():

  注意:substring() 不接受负的参数;

       substr()方法、slice()方法中的参数如果是负数,那么它规定的是从数组尾部开始算起的元素。

var stringValue = "hello world";
alert(stringValue.slice(3,7)); //"lo w" alert(stringValue.substring(3,7)); //"lo w"
alert(stringValue.substr(3,7)); //"lo world"
var stringValue = "hello world";
alert(stringValue.slice(3,-4)); //"lo w"
alert(stringValue.substring(3,-4)); //"hel"
alert(stringValue.substr(3,-4)); //" "

1.slice()方法会把第二个负值的参数转换为“字符串长度+负值”(本例中“hello world”共11个字符(含括号),所以是11-4=7),也就是说slice(3,-4)==> slice(3,7)==>"lo w"

2.substring()方法会将负值转换为0,substring(3,-4)==>substring(3,0),又因为这个方法会将较小的值作为开始位置、较大的值作为结束位置,所以==>substring(0,3)==>取前3个字符==>"hel"

3.substr()方法也将第二个参数转换为0。而substr()方法的第二个参数本身的含义是 ”返回的字符个数”,当值为0时,即返回0个字符。所以第二个参数为负值时,该方法返回空字符串。

js基本包装类型和引用类型的更多相关文章

  1. JS小知识点----基本包装类型和引用类型

    var s1 = "some text"; s1.color = "red"; alert(s1.color);  //弹出 underfined var s1 ...

  2. 【js】基本类型和引用类型的区别

    1.保存方式:(一脸懵逼???) 基本类型是按值访问的,可以在变量的生命周期改变它,但是它是储存在哪里的呢?在浏览器缓存吗?[执行环境中定义的所有变量和函数都存储在执行环境的变量对象里,变量对象我们编 ...

  3. JS基本类型和引用类型的值

    JS中可以把变量分成两部分,基本类型和引用类型. 基本类型比较简单,包括:Undefined.Null.Boolean.Number和String,基本类型值就是简单的数据段:引用类型值可能由多个值构 ...

  4. Js基础---红宝书读书日记(1)-------基本类型和引用类型

    JS的变量可能包含两种不同数据类型的值,基本类型和引用类型; 基本类型是指简单的数据段,引用类型是指可能由多个值构成的对象; JS高级程序设计第三章介绍了变量分为 5种简单数据类型(string/nu ...

  5. DOM笔记(九):引用类型、基本包装类型和单体内置对象

    一.Array 1 .创建数组的方式 //Array构造函数(可以去掉new) var colors0 = new Array(); var colors1 = new Array(20); var ...

  6. JS 基本类型和引用类型---JS 学习笔记(一)

    本文参考了focusxxxxy的博客,感谢他的知识分享. 一 基本类型和引用类型的值 ECMAScript 变量包含两种不同数据类型的值:基本类型和引用类型. 也有其他的叫法,比如原始类型和对象类型, ...

  7. 关于js基本类型与引用类型(堆内存、栈内存的理解)

    js 基本类型与引用类型的区别 ECMAScirpt 变量有两种不同的数据类型:基本类型,引用类型.也有其他的叫法,比如原始类型和对象类型,拥有方法的类型和不能拥有方法的类型,还可以分为可变类型和不可 ...

  8. js高级程序设计 笔记 --- 引用类型

    一,变量和作用域 1, js变量可以保存两种类型,基本类型.引用类型和symbol类型,基本类型有5种:undefined.null.boolean.number.string,它们都有以下的特征 基 ...

  9. Java Native Interface 二 JNI中对Java基本类型和引用类型的处理

    本文是<The Java Native Interface Programmer's Guide and Specification>读书笔记 Java编程里会使用到两种类型:基本类型(如 ...

随机推荐

  1. Online Judge(OJ)搭建——2、数据库,SQL语句

    数据库EER图 数据库表.字段.约束解释 users 用户: id 标识符,email 邮箱,password 密码,name 姓名,sex 性别,enabled 启用 ,role 角色 id pri ...

  2. Filecoin官方更新: Q4工作进展和2018年工作计划

    ICO过后,Filecoin团队一直没有对外更新过工作计划(很多投资人都等待的不耐烦了).经过漫长的等待,在新年的第一个工作日,我们终于等来了来自于filecoin团队的声音, 这次更新真是出乎小编的 ...

  3. mysql存储过程(查询数据库内表 游标循环 if判断 插入别的表内)

    BEGIN declare f_age int;DECLARE incode1 VARCHAR(100);DECLARE incode2 VARCHAR(100);DECLARE incode3 VA ...

  4. 归档日志空间满导致DB启动失败

    现象 登录失败 告警日志: 由此可知,归档日志空间已满 解决方式: 一.增大归档日志空间 1.启动数据库至nomount [oracle@CentOS ~]$ sqlplus / as sysdba ...

  5. 微信小程序开发之--”emplate模板“的应用

    第一步:定义模板 ①:新建一个template文件夹用来管理项目中所有的模板(本文案例定义文件夹名为:temp): ②.新建一个wxml文件来定义模板(本文案例定义文件夹名为:temp.wxml): ...

  6. MYSQL数据库学习十七 日志管理

    17.1 MySQL软件所支持的日志 MySQL所支持的日志文件里,除了二进制日志文件外,其他日志文件都是文本文件.默认情况下,MySQL只会启动错误日志文件,其他日志文件则需要手动启动. 二进制日志 ...

  7. 使用Mifare卡加密数据 笔记

    Mifare 是最常用的射频卡,具体介绍网上太多,我就不说了.,很多城市的最早的地铁公交卡都是用这种卡,后来被破解后都换成智能卡了. 但是由于技术成熟,使用方便,成本低,现在很多小区门禁卡,停车卡,食 ...

  8. 手写ButterKnife

    开发中使用注解框架可以极大地提高编码效率,注解框架用到的技术可以分为两种,运行时注解跟编译时注解.运行时注解一般配合反射机制使用,编译时注解则是用来生成模板代码.这里我们分别使用这两种方法实现Butt ...

  9. 查看端口使用情况(lsof,netstat, kill)

    在Mac上查看端口使用情况只能使用lsof(list open file),无法使用 netstat. 查看某个端口是否正在被占用: lsof -i:portno 另外,可以通过: lsof 指令来查 ...

  10. 如何修改HTML5 input placeholder 颜色

    有三种实现方式:伪元素(pseudo-elements).伪类( pseudo-classes)和Notihing. WebKit和Blink(Safari,Google Chrome, Opera1 ...