JavaScript 基本包装类型指的是 Boolean、Number 和 String 这三种类型,它们提供了将基本类型值转换为对象的能力。在需要调用方法时,这种类型非常方便。
Boolean
Boolean 基本包装类型表示的是布尔值,即 true 和 false。创建 Boolean 对象有两种方式:一种是通过 Boolean 构造函数创建,另一种是使用 boolean 值。例如:
// 创建 Boolean 对象
var booleanObj = new Boolean(true);
// 直接使用布尔值
var booleanValue = false;
创建 Boolean 对象之后,就可以使用以下方法:
valueOf()
:返回 Boolean 值。toString()
:返回 Boolean 值的字符串表示。
// 使用 Boolean 对象
console.log(booleanObj.valueOf()); // true
console.log(booleanObj.toString()); // "true"
// 直接使用布尔值
console.log(booleanValue.valueOf()); // false
console.log(booleanValue.toString()); // "false"
Number
Number 基本包装类型表示的是数字。创建 Number 对象和 Boolean 对象类似,也有两种方式:一种是通过 Number 构造函数创建,另一种是使用数字值。例如:
// 创建 Number 对象
var numberObj = new Number(123);
// 直接使用数字值
var numberValue = 456;
Number 对象提供了以下方法:
valueOf()
:返回 Number 值。toString()
:返回 Number 值的字符串表示。toFixed()
:把 Number 值转换为字符串并保留指定的小数位数。toExponential()
:把 Number 值转换为指数表示法的字符串。toPrecision()
:把 Number 值转换为指定位数的字符串表示。
// 使用 Number 对象
console.log(numberObj.valueOf()); // 123
console.log(numberObj.toString()); // "123"
console.log(numberObj.toFixed(2)); // "123.00"
console.log(numberObj.toExponential(2)); // "1.23e+2"
console.log(numberObj.toPrecision(3)); // "123"
// 直接使用数字值
console.log(numberValue.valueOf()); // 456
console.log(numberValue.toString()); // "456"
console.log(numberValue.toFixed(2)); // "456.00"
console.log(numberValue.toExponential(2)); // "4.56e+2"
console.log(numberValue.toPrecision(4)); // "456.0"
String
String 基本包装类型表示的是字符串。创建 String 对象和前两种类似,也有两种方式:一种是通过 String 构造函数创建,另一种是使用字符串值。例如:
// 创建 String 对象
var stringObj = new String("abc");
// 直接使用字符串值
var stringValue = "def";
String 对象提供了以下方法:
valueOf()
:返回 String 值。toString()
:返回 String 值的字符串表示。charAt()
:返回指定位置的字符。charCodeAt()
:返回指定位置的字符的 Unicode 值。concat()
:连接两个或多个字符串,并返回新的字符串。indexOf()
:返回指定字符在字符串中首次出现的位置。lastIndexOf()
:返回指定字符在字符串中最后一次出现的位置。match()
:在字符串中搜索匹配正则表达式的结果。replace()
:在字符串中用替换字符串替换匹配正则表达式的结果。search()
:在字符串中搜索匹配正则表达式的位置。slice()
:提取字符串的片断,并返回新的字符串。split()
:把字符串分割成字符串数组。substring()
:提取字符串的片断,并返回新的字符串,和slice()
方法类似。toLowerCase()
:把字符串转换为小写。toUpperCase()
:把字符串转换为大写。
// 使用 String 对象
console.log(stringObj.valueOf()); // "abc"
console.log(stringObj.toString()); // "abc"
console.log(stringObj.charAt(1)); // "b"
console.log(stringObj.charCodeAt(1)); // 98
console.log(stringObj.concat("def")); // "abcdef"
console.log(stringObj.indexOf("b")); // 1
console.log(stringObj.lastIndexOf("c")); // 2
console.log(stringObj.match(/a/)); // ["a", index: 0, input: "abc", groups: undefined]
console.log(stringObj.replace(/a/, "d")); // "dbc"
console.log(stringObj.search(/b/)); // 1
console.log(stringObj.slice(1)); // "bc"
console.log(stringObj.split("b")); // ["a", "c"]
console.log(stringObj.substring(1)); // "bc"
console.log(stringObj.toLowerCase()); // "abc"
console.log(stringObj.toUpperCase()); // "ABC"
// 直接使用字符串值
console.log(stringValue.valueOf()); // "def"
console.log(stringValue.toString()); // "def"
console.log(stringValue.charAt(1)); // "e"
console.log(stringValue.charCodeAt(1)); // 101
console.log(stringValue.concat("abc")); // "defabc"
console.log(stringValue.indexOf("e")); // 1
console.log(stringValue.lastIndexOf("f")); // 2
console.log(stringValue.match(/e/)); // ["e", index: 1, input: "def", groups: undefined]
console.log(stringValue.replace(/e/, "x")); // "dxf"
console.log(stringValue.search(/f/)); // 2
console.log(stringValue.slice(1)); // "ef"
console.log(stringValue.split("e")); // ["d", "f"]
console.log(stringValue.substring(1)); // "ef"
console.log(stringValue.toLowerCase()); // "def"
console.log(stringValue.toUpperCase()); // "DEF"
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:javascript基本包装类型介绍 - Python技术站