js基本包装类型和引用类型

回顾

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个字符。所以第二个参数为负值时,该方法返回空字符串。


更多专业前端知识,请上 【猿2048】www.mk2048.com

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/364227.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

mysql数据库套件_MySQL数据库管理开发套件(EMS SQL Management Studio For MySQL)下载 v1.3.0.46170 官方版 - 比克尔下载...

EMS SQL Management Studio For MySQL是一个强大的MySQL数据库管理和开发套件,由很多工具组成,涉及MySQL数据库管理、导入、导出、迁移、测试、备份、比较、同步等数据库管理和开发中需要的绝大部分功能,为开发人员提供了一个MySQL数据库管理…

异步和多线程

异步是目的,而多线程是实现这个目的的方法。 异步(目的):由系统决定何时,如何去执行,非阻塞的,执行后回调。 CPU可以从线程池中获取一个线程资源,执行操作,并在执行完成后…

vue.config.js配置别名alias、配置生产环境清除console

项目中使用引入文件有时候路径比较深,需要使用"../../../xx.js"这种类似的路劲引入,这种方式比较笨,可以使用webpack的别名alias配置来解决。 首先,先确定项目中是否有path模块: 如果没有path模块需要先安装…

借助Java 8和lambdas,可以一起使用AssertJ和Awaitility

AssertJ和Awaitility是在自动代码测试中使用的两个我最喜欢的工具。 不幸的是直到最近,还不能一起使用它。 但是随后Java 8进入了游戏,几十行代码足以使其在Awaility 1.6.0中实现。 AssertJ提供了一组丰富的断言,其中包含非常有用的错误消息…

小程序-冒泡事件

小程序冒泡事件与非冒泡事件 会随之触发父元素的称为冒泡事件&#xff0c;反之&#xff0c;则是非冒泡事件 wxml&#xff1a; <view class"view1" bindtap"view1click"> <!-- 用 bind 绑定事件 -->view1<view class"view2" bin…

ruhr启动mysql数据库_Mysql表类型(存储引擎)的选择

以下内容转载自&#xff1a;https://www.cnblogs.com/jswang/p/6923911.html7.1 mysql存储引擎概述插件式存储引擎是mysql数据库最重要的特性之一&#xff0c;用户可以根据应用的需要选择ruhr存储和索引数据&#xff0c;是否使用事务等。InnoDB和BDB提供事务安全表&#xff0c;…

【JOURNAL】好久了啊

40天没有blog了&#xff0c;史无前例。项目、个人、朋友等等事情都同时很多&#xff0c;一根蜡烛3头点。这个星期还参加了一个5天的封闭workshop&#xff0c;加上这个酒店上网还贵得疯狂&#xff0d;&#xff0d;1块钱1分钟&#xff0d;&#xff0d;是的&#xff0c;你没有看错…

01 辅助函数之加密函数

常用的加密算法 常见的对称加密算法有 AES、DES、3DES 和 Itsdangerous &#xff0c;md5 &#xff0c;base64 Itsdangerous 加密和解密方法 2 from itsdangerous import TimedJSONWebSignatureSerializer as serializer3 class ItsdangerouSecret:4 # 初始化5 def __in…

mysql导出表结构 创建_mysql如何导出表结构为文本文件

Log Goup ID&#xff0c;可能会配置多个redo组&#xff0c;每个组对应一个id&#xff0c;当前都是0&#xff0c;占用4字节Start LSN&#xff0c;这个redo log文件开始日志的lsn&#xff0c;占用8字节Log File Number&#xff0c;总是为0&#xff0c;占用4字节Created By&#x…

SB错误集合

1. 没看数据是不是从0开始&#xff0c;导致treeDP时以0为父亲跑1&#xff08;战略游戏&#xff09; 2.建树&#xff0c;无向图&#xff0c;边数组大小用MAXN却忘了 * 2 ( 战略游戏 ) 3.treeDP用 转移状态 却用了导致只统计了一个儿子&#xff08;战略游戏&#xff09;转载于:…

uoj#213. 【UNR #1】争夺圣杯(单调栈)

传送门 我们枚举每一个元素&#xff0c;用单调栈做两遍计算出它左边第一个大于它的位置\(l[i]\)和右边第一个大于它的位置\(r[i]\)&#xff0c;那么一个区间以它为最大值就意味着这个区间的左端点在\([l[i]1,i]\)之间&#xff0c;右端点在\([i,r[i]-1]\)之间 设\(xi-l[i],yr[i]…

Java 8功能接口–实现Scala类型的随机思维

在“ 使用Scala进行功能编程”课程的一项作业中&#xff0c;引入了一种称为Terrain的类型-Terrain表示一个区域&#xff0c;该区域的某些部分可以访问&#xff0c;而某些部分则不能访问。 因此&#xff0c;以一种非常聪明的方式在任务中以下列方式定义了Terrain&#xff1a; c…

iOS中常见的内存泄漏,及避免泄漏的最佳方案

引言 在iOS应用开发中&#xff0c;内存泄漏是一个常见而严重的问题。本文将探讨一些iOS应用中常见的内存泄漏原因&#xff0c;并提供一些最佳实践&#xff0c;帮助开发者避免这些问题&#xff0c;提高应用性能。 什么是内存泄漏 内存泄漏是指在程序运行时&#xff0c;由于错…

bootstrap-table之通用方法( 时间控件,导出,动态下拉框, 表单验证 ,选中与获取信息)

1.bootstrap-table 单击单行选中 $(#gzrwTable).on(click-row.bs.table, function(e, row, $element) { $(.success).removeClass(success);// 清除前一次操作已选中行的选中状态 $($element).addClass(success);// 选中行添加选中状态 });2.bootstrap-table 获取选中行信息 fu…

如何取得好的软件设计

[转贴] 段先德 2006-5-20 似乎作为一个软件开发者&#xff0c;就注定要背着沉重的行囊&#xff0c;穿行在茂密的热带丛林里&#xff0c;酷热&#xff0c;没有风&#xff0c;只有腐烂的植被、浓浓的瘴气、不时从肩膀上爬过的毒蜘蛛和从脚背上“嗖”地窜过的毒蛇。汗流浃背&…

老男孩mysql参数配置_MySQL启动相关参数解析

1.basedir /usr/local/mysql代表MySQL安装路径2.datadir /usr/local/mysql/data代表MySQL的数据文件路径3.port 3306指定MySQL的侦听端口4.log-error/usr/local/mysql/data/M00006.err记录MySQL启动日志和运行错误日志5.bind-address(默认是*)*代表接受所有来自IPV4、IPV6主…

CSS基础学习-15-1.CSS 浏览器内核

转载于:https://www.cnblogs.com/songsongblue/p/11047935.html

gitlab提交代码push,触发jenkins构建

一、安装插件 Build Authorization TokenRoot Gitlab Hook Plugin二、配置 在linux上执行命令 openssl rand -hex 12获得token&#xff1a; 632f873225efdb5b7e5da411 去掉jenkins的 CSRF Protection设置 找到触发构建的项目&#xff0c;修改触发器 在gitlab的项目中&#xff0…

5分钟搞定jQuery zepto.js 面向对象插件

今天分享一下快速使用jQuery zepto.js的技巧&#xff0c;需要的记得收藏 1.jQuery的引入&#xff1a;本地下载jQuery(后面简称jq)的源文件&#xff0c;开发版本使用非min版&#xff0c;线上使用min版&#xff0c;zepto.js类似&#xff0c;同样的一些基于jq的插件也是如此用法&…

使用JavaConfig的SpringMVC4 + Spring Data JPA + SpringSecurity配置

在本文中&#xff0c;我们将看到如何使用JavaConfig配置和集成SpringMVC4&#xff0c;带有Hibernate的Spring Data JPA和SpringSecurity。 1.首先让我们在pom.xml中配置所有必要的依赖项 <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"htt…