TS学习——Number、String对象的属性方法简介

Number 对象是原始数值的包装对象。

语法:
var num = new Number(value);

注: 如果一个参数值不能转换为一个数字将返回 NaN (非数字值)。

 对象属性

序号属性描述
1MAX_VALUE可表示的最大的数,MAX_VALUE 属性值接近于 1.79E+308。大于 MAX_VALUE 的值代表 "Infinity"。
2MIN_VALUE可表示的最小的数,即最接近 0 的正数 (实际上不会变成 0)。最大的负数是 -MIN_VALUE,MIN_VALUE 的值约为 5e-324。小于 MIN_VALUE ("underflow values") 的值将会转换为 0。
3NaN非数字值(Not-A-Number)。
4NEGATIVE_INFINITY负无穷大,溢出时返回该值。该值小于 MIN_VALUE。
5POSITIVE_INFINITY正无穷大,溢出时返回该值。该值大于 MAX_VALUE。
6prototypeNumber 对象的静态属性。使您有能力向对象添加属性和方法。
7constructor返回对创建此对象的 Number 函数的引用。

例:

console.log("TypeScript Number 属性: "); 
console.log("最大值为: " + Number.MAX_VALUE); 
console.log("最小值为: " + Number.MIN_VALUE); 
console.log("负无穷大: " + Number.NEGATIVE_INFINITY); 
console.log("正无穷大:" + Number.POSITIVE_INFINITY);
console.log("非数字值是:"+ Number.NaN)

// TypeScript Number 属性:
// 最大值为: 1.7976931348623157e+308
// 最小值为: 5e-324
// 负无穷大: -Infinity
// 正无穷大:Infinity
// 非数字值是:NaN

prototype 实例

function employee(id:number,name:string) { 
    this.id = id 
    this.name = name 
} 
var emp = new employee(123,"admin") 
employee.prototype.email = "admin@runoob.com" 

console.log("员工号: "+emp.id) 
console.log("员工姓名: "+emp.name) 
console.log("员工邮箱: "+emp.email)

// 员工号: 123
// 员工姓名: admin
// 员工邮箱: admin@runoob.com

Number 对象方法

Number对象支持以下方法:

序号方法描述实例
1toExponential()把对象的值转换为指数计数法。

var num1 = 1225.30 
var val = num1.toExponential(); 
console.log(val)  //  1.2253e+3

2toFixed()把数字转换为字符串,并对小数点指定位数。

var num3 = 177.234 
console.log(num3.toFixed())

// 177
console.log(num3.toFixed(2))

// 177.23
console.log(num3.toFixed(6))

// 177.234000

3toLocaleString()把数字转换为字符串,使用本地数字格式顺序。

var num = new Number(177.1234); 
console.log(num.toLocaleString());  

// 输出字符串类型的177.1234

4toPrecision() [注]把数字格式化为指定的长度。

var num = new Number(7.123456); 
console.log(num.toPrecision());  

// 7.123456 
console.log(num.toPrecision(1));

// 7
console.log(num.toPrecision(2));

// 7.1

5toString()把数字转换为字符串,使用指定的基数。数字的基数是 2 ~ 36 之间的整数。若省略该参数,则使用基数 10。

var num = new Number(10); 
console.log(num.toString());  

// 输出10进制:10
console.log(num.toString(2));

// 输出2进制:1010
console.log(num.toString(8));

// 输出8进制:12

6valueOf()返回一个 Number 对象的原始数字值。

var num = new Number(10); 
console.log(num.valueOf());

// 输出:10

注:

toPrecision()

numberObj.toPrecision( precision )

  • 没有提供precision参数或其值为undefined时,会转为使用toString()的方法处理;例如:7.123456 .toPrecision();  输出:'7.123456'
  • 数字的有效位数大于precision,将会根据第precision + 1位的有效数字进行四舍五入;例如:153624.2354.toPrecision(8);输出:'153624.24'
  • 数字的有效位数大于precision且数字的整数部分位数大于precision,将会根据第precision + 1位的有效数字进行四舍五入后,用指数计数法表示;例如:153624.23.toPrecision(3);输出:'1.54e+5'(e+5为10的5次方)
  • 数字的有效位数小于precision,将用定点表示法在小数部分填充相应位数的0;例如:153624.23.toPrecision(10);输出:'153624.2400'

String 对象用于处理文本(字符串)。

语法

var txt = new String("string");
或者更简单方式:
var txt = "string";

String 对象支持的属性:

属性描述
constructor对创建该对象的函数的引用。
length返回字符串的长度。
prototype允许您向对象添加属性和方法。

constructor、prototype的使用方法同上。

var uname = new String("Hello World") 
console.log("Length "+uname.length)  // 11

String方法

方法描述实例
charAt()返回在指定位置的字符。var str = new String("RUNOOB"); 
console.log("str.charAt(0) 为:" + str.charAt(0)); // R
console.log("str.charAt(1) 为:" + str.charAt(1)); // U 
console.log("str.charAt(2) 为:" + str.charAt(2)); // N 
console.log("str.charAt(3) 为:" + str.charAt(3)); // O 
console.log("str.charAt(4) 为:" + str.charAt(4)); // O 
console.log("str.charAt(5) 为:" + str.charAt(5)); // B
charCodeAt()返回在指定的位置的字符的 Unicode 编码。var str = new String("RUNOOB"); 
console.log("str.charCodeAt(0) 为:" + str.charCodeAt(0)); // 82
console.log("str.charCodeAt(1) 为:" + str.charCodeAt(1)); // 85 
console.log("str.charCodeAt(2) 为:" + str.charCodeAt(2)); // 78 
console.log("str.charCodeAt(3) 为:" + str.charCodeAt(3)); // 79 
console.log("str.charCodeAt(4) 为:" + str.charCodeAt(4)); // 79
console.log("str.charCodeAt(5) 为:" + str.charCodeAt(5)); // 66
concat()连接两个或更多字符串,并返回新的字符串。var str1 = new String( "RUNOOB" ); 
var str2 = new String( "GOOGLE" ); 
var str3 = str1.concat( str2 ); 
console.log("str1 + str2 : "+str3) // RUNOOBGOOGLE
indexOf()返回某个指定的字符串值在字符串中首次出现的位置。var str1 = new String( "RUNOOB" ); 
var index = str1.indexOf( "OO" ); 
console.log("查找的字符串位置 :" + index );  // 3
lastIndexOf()从后向前搜索字符串,并从起始位置(0)开始计算返回字符串最后出现的位置。var str1 = new String( "This is string one and again string" ); 
var index = str1.lastIndexOf( "string" );
console.log("lastIndexOf 查找到的最后字符串位置 :" + index ); // 29
index = str1.lastIndexOf( "one" ); 
console.log("lastIndexOf 查找到的最后字符串位置 :" + index ); // 15
localeCompare() [注]用本地特定的顺序来比较两个字符串。var str1 = new String( "This is beautiful string" );
var index = str1.localeCompare( "This is beautiful string");  
console.log("localeCompare first :" + index );  // 0
match()查找找到一个或多个正则表达式的匹配。

var str="The rain in SPAIN stays mainly in the plain"; 
var n=str.match(/ain/g);  // ['ain','ain','ain']

// 如果找不到的返回null

replace()替换与正则表达式匹配的子串var re = /(\w+)\s(\w+)/; 
var str = "zara ali"; 
var newstr = str.replace(re, "$2, $1"); 
console.log(newstr); // 'ali, zara'
search()检索与正则表达式相匹配的值

var re = /apples/gi; 
var str = "Apples are round, and apples are juicy.";
if (str.search(re) == -1 ) { 
   console.log("Does not contain Apples" ); 
} else { 
   console.log("Contains Apples" ); 

// Contains Apples

// 找到匹配的返回0,找不到返回-1

slice()  [注]提取字符串的片断,并在新的字符串中返回被提取的部分。

var str = "Apples are round, and apples are juicy.";

var str2 = str.slice(0,16);

// 'Apples are round'

split()把字符串分割为子字符串数组。

var str = "Apples are round, and apples are juicy."; 
var splitted = str.split(" ", 3); 
console.log(splitted)  

// [ 'Apples', 'are', 'round,' ]

// 第二个参数为分割份数,如果为负数则无效,会返回全量的分割

substr()从起始索引号提取字符串中指定数目的字符。

var str = "Apples are round, and apples are juicy."; 
console.log(str.substr(0, 6))

//  'Apples'

substring()

提取字符串中两个指定的索引号之间的字符。

(不包括end下标的字符)

var str =

"RUNOOB GOOGLE TAOBAO FACEBOOK"; 
console.log("(1,2): "    + str.substring(1,2));   // 'U'
console.log("(0,10): "   + str.substring(0, 10));

// 'RUNOOB GOO'
console.log("(5): "      + str.substring(5));    

// 'B GOOGLE TAOBAO FACEBOOK'

toLocaleLowerCase()根据主机的语言环境把字符串转换为小写,只有几种语言(如土耳其语)具有地方特有的大小写映射。

var str = "Runoob Google"; 
console.log(str.toLocaleLowerCase( ));  

// 'runoob google'

toLocaleUpperCase()据主机的语言环境把字符串转换为大写,只有几种语言(如土耳其语)具有地方特有的大小写映射。

var str = "Runoob Google"; 
console.log(str.toLocaleUpperCase( ));  

// 'RUNOOB GOOGLE'

toLowerCase()把字符串转换为小写。

var str = "Runoob Google"; 
console.log(str.toLowerCase( ));  

// 'runoob google'

toString()返回字符串。var str = "Runoob"; 
console.log(str.toString( )); // 'Runoob'
toUpperCase()把字符串转换为大写。

var str = "Runoob Google"; 
console.log(str.toUpperCase( ));  

// 'RUNOOB GOOGLE'

valueOf()返回指定字符串对象的原始值。var str = new String("Runoob"); 
console.log(str.valueOf( ));  // 'Runoob'

注:

A.localeCompare( B )

  • 当A与B相等时,返回 0
  • 当A包含B时,返回  1
  • 当A不包含B时,返回 -1

string.slice(start,end)

  • string.slice(start,end) 提取字符串指定位置的字符(包括下标为end的字符)
  • string.slice(start)  从下标start开始,到字符串结束,提取字符串;如果start为负数则从结束位置开始,倒着提取例如:"Apple sare round".slice(-5),输出:'round'

  • 16
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值