JavaScript的基本包装类型概述与基本包装类型_Number类型
JavaScript的基本包装类型示例
为了便于操作基本类型值,javaScript 提供了 3 个特殊的引用类型:Boolean、Number和 String。
这些类型与其他引用类型相似,但同时也具有与各自的基本类型相应的特殊行为。
实际上,每当读取一个基本类型值的时候,后台就会创建一个对应的基本包装类型的对象,从而能够调用一些方法来操作这些数据。比如:
变量 box 是一个字符串类型,而 box.substring(2)又说明它是一个对象(只有对象才会调用方法),最后把处理结果赋值给 box2。
'Mr. Lee'是一个字符串类型的值,按道理它不应该是对象,不应该会有自己的方法,比如:
var box = 'Mr. Lee'; //定义一个字符串
var box2 = box.substring(2); //截掉字符串前两位
alert(box2); //输出新字符串 结果box2=. Lee alert('Mr. Lee'.substring(2)); //直接通过值来调用方法,结果是. Lee
字面量声明和 new 运算符声明对象的区别
字面量声明和 new 运算符声明很好的展示了他们之间的区别。
但有一定还是可以肯定的,那就是不管字面量形式还是 new 运算符形式,都可以使用它的内置方法。
Boolean 和 Number 特性与 String 相同,三种类型可以成为基本包装类型(无法给自己创建属性和方法(但可以使用原型给对象扩展方法),只可以使用自己的内置方法)。
在使用 new 运算符创建以上三种类型的对象时,可以给自己添加属性和方法,但我们建议不要这样使用,因为这样会导致根本分不清到底是基本类型值还是引用类型值。
/*字面量写法:*/
var box = 'Mr. Lee'; //字面量
box.name = 'Lee'; //无效属性
box.age = function () { //无效方法
return 100;
};
alert(box); //Mr. Lee
alert(box.substring(2)); //. Lee
alert(typeof box); //string
alert(box.name); //undefined
alert(box.age()); //错误
/*new 运算符写法:*/
var box = new String('Mr. Lee'); //new 运算符
box.name = 'Lee'; //有效属性
box.age = function () { //有效方法
return 100;
};
alert(box); //Mr. Lee
alert(box.substring(2)); //. Lee
alert(typeof box); //object
alert(box.name); //Lee
alert(box.age()); //
JavaScript的基本包装类型之Number类型
Number类型:代表数值数据类型和提供数值常数的对象。
JavaScript的基本包装类型之Number类型的属性
Number 类型有一些静态属性(直接通过 Number 调用的属性,而无须 new 运算符)和方法。

console.log(Number.MAX_VALUE); // 1.7976931348623157e+308
console.log(Number.MIN_VALUE); // 5e-324
console.log(Number.NaN); //NaN
console.log(Number.NEGATIVE_INFINITY); // -Infinity
console.log(Number.POSITIVE_INFINITY); // Infinity
JavaScript的基本包装类型之Number类型的方法

toString()方法
var box = 1000.789;
console.log((box.toString())); //转换为字符串,传参可以转换进制
console.log(box.toString(2));//传入2即转换为2进制,传入8即转换为8进制,16即转换为16进制
console.log(box.toString(8));//传入2即转换为2进制,传入8即转换为8进制,16即转换为16进制
console.log(box.toString(16));//传入2即转换为2进制,传入8即转换为8进制,16即转换为16进制
toLocaleString()方法
该方法还可以格式化日期形式的字符串
var box = 1000.789;
var box1 = new Date();
console.log(box.toLocaleString()); //本地格式化,结果是:1,000.789
console.log(box1); // 2019-04-10T15:35:12.871Z
console.log(box1.toLocaleString()); //2019-4-10 23:35:12
toFixed()方法
var box = 1000.789;
console.log(box.toFixed(2)); //根据传入的参数保留多少位小数点,并且会四舍五入,,不能传入0和负数,结果是:1000.79
console.log(box);//结果还是:1000.789;方法不会改变原来的值
toExponential()方法
var box = 1000.789;
console.log(box.toExponential()); //指数形式,传参会保留小数点:1.000789e+3
console.log(box.toExponential(3));//同样会四舍五入:1.001e+3
toPrecision()方法
var box = 1000.789;
console.log(box.toPrecision(2)); //指数或点形式,传参保留小数点:1.0e+3
ES6中新增了一些属性和方法,详情查看:ES5-ES6-ES7_数值的扩展
JavaScript的基本包装类型概述与基本包装类型_Number类型的更多相关文章
- javascript DOM中的节点层次和节点类型概述
针对JS高级程序设计这本书,主要是理解概念,大部分要点源自书内.写这个主要是当个笔记加总结 存在的问题请大家多多指正! 因为DOM这方面的对象方法操作性都特别强,但是逻辑很简单,所以就没有涉及到实际的 ...
- 深入理解DOM节点类型第一篇——12种DOM节点类型概述
× 目录 [1]元素 [2]特性 [3]文本[4]CDATA[5]实体引用[6]实体名称[7]处理指令[8]注释[9]文档[10]文档类型[11]文档片段[12]DTD 前面的话 DOM是javasc ...
- 笔记《JavaScript 权威指南》(第6版) 分条知识点概要2—类型、值、变量
[类型.值.变量]数字.文本.布尔值.null和undefined.全局对象.包装对象.不可变的原始值和可变的对象引用.类型转换.变量声明.变量作用域 P44~71(PDF版).P32~59(书版) ...
- [Python3] 003 变量类型概述 & 数字类型详叙
目录 0. 变量类型概述 1. 数字类型详叙 1.1 整数 1.1.1 常用进制 1.1.2 少废话,上例子 1.2 浮点数 1.2.1 使用浮点数时可以"偷懒" 1.2.2 科学 ...
- javascript !!的作用是把一个其他类型的变量转成的bool类型
!!的作用是把一个其他类型的变量转成的bool类型
- 二:python 对象类型概述
1,为什么使用内置类型: a)内置对象使程序更容易编写 b)内置对象是扩展的组件 c)内置对象往往比定制的数据结构更加高效 d)内置对象是语言的标准的一部分 2,python 的主要内置对象 对象类 ...
- ASN.1笔记——语法规则与类型概述
转载:https://blog.csdn.net/sever2012/article/details/7672699 一.简介 ASN.1(Abstract Syntax Notation doton ...
- 第19课 类型萃取(3)_类型选择的traits
1. std::conditional (1)原型:template <bool Cond, class T, class F> struct conditional; //根据条件获取T ...
- 【C++】error C4146: 一元负运算符应用于无符号类型,结果仍为无符号类型
刷leetcode 263.uglynumber时,代码如下: class Solution { public: bool isUgly(int num) { int temp = num; ) re ...
随机推荐
- .NET CORE 设置cookie以及获取cookie
使用我这个方式的前提是在mvc中,确认你安装了:Microsoft.AspNetCore.Mvc. 然后在继承了Controller的类型中使用我所说的方法. 直接使用即可,我是封装了方法供我自己使用 ...
- C# IE浏览器 判断是否已经打开了指定Url
引用Microsoft HTML Object Library 引用 -> com -> Microsoft HTML Object Library 引用后,显示如图 1.判断ie浏览器是 ...
- Owin Middleware如何在IIS集成管道中执行
Owin Middleware Components(OMCs) 通过安装Install-Package Microsoft.Owin.Host.SystemWeb 可以让OMCs在IIS集成管道下工 ...
- OAuth2.0 授权码理解
OAuth2.0授权模式 本篇文章介绍OAuth的经典授权模式,授权码模式 所谓授权无非就是授权与被授权,被授权方通过请求得到授权方的同意,并赋予某用权力,这个过程就是授权. 那作为授权码 ...
- .NET MVC后台发送post请求
一.WebRequest方式 //设置请求接口 var request = (HttpWebRequest)WebRequest.Create("http://xxx.com/xxx&quo ...
- vue IE 报错 引用babel-polyfill
一.vue 项目报错 vuex requires a Promise polyfill in this browser 在网上找到下面三篇文章,然而和我的项目都不太一样. 我的项目基于 基础模 ...
- struts2_struts2线程安全吗?
线程安全:在一个进程中有多个线程并发执行,线程执行过程中,变量值是相同的,执行结果也是相同的 struts2线程安全 1.每次请求都会重新创建新的action对象,所以线程安全. 2.由于action ...
- Java集合性能分析-疯狂Java讲义
一.各Set实现类的性能分析 HashSet和TreeSet是Set的两个典型实现.HashSet的性能总是比TreeSet好(特别是最常用的添加.查询元素等操作),因为TreeSet需要额外的红黑树 ...
- springboot调优
application.properties server.tomcat.max-connections=0 # Maximum number of connections that the serv ...
- Redis 保护模式
默认 redis 启用了保护模式,即如果是远程链接不能进行 CRUD 等操作,如果进行该操作报错如下 (error) DENIED Redis is running in protected mode ...