JavaScript 学习笔记-3


编程语言16 阅0 评

JavaScript 字符串搜索

除了String.indexOf(matchStr, start = 0)String.lastIndexOf(matchStr, start = 0)String.search(reStr),还有一些其他的搜索函数。

String.match()

根据正则表达式在字符串中搜索匹配项,并将匹配结果作为 Array 对象返回。

String.includes()

如果字符串中包含指定值,includes()方法返回true

String.startsWith()

如果字符串以指定值开头,则返回true

String.endWith()

如果字符串以指定值结尾,则返回true

本函数与上一函数都大小写敏感。

JavaScript 字符串模板

字符串模板是可以使用多个变量合成一个字符串值的变量类型。它使用反引号 ` 定义。例如:

let text = `He's name is ${name}`;

在模板中,可以同时使用单引号和双引号,也可以换行。

注意,字符串模板可以将变量与表达式插入字符串。语法是使用 ${...}

let firstName = "John";
let lastName = "Doe";

let text = `Welcome ${firstName}, ${lastName}!`;

let price = 10;
let VAT = 0.25;
// 自动替换表达式的值
let total = `Total: ${(price * (1 + VAT)).toFixed(2)}`;

利用 字符串模板,我们可以创建 HTML 模板来使用。例如:

let header = "Templates Literals";
let tags = ["template literals", "javascript", "es6"];

let html = `<h2>${header}</h2><ul>`;
for (const x of tags) {
  html += `<li>${x}</li>`;
}

html += `</ul>`;

自动生成一段 HTML 代码。

字符串模板的插入非常类似于 Python 中字符串插值的方法。

name = "ciel"
text = f"hello {ciel}"

JavaScript 数字

JavaScript 只有一种数字类型,那就是 64 位浮点数。

数字和字符串相加

// 数字和数字
var x = 10;
var y = 20;
var z = x + y;           // z 将是 30(一个数)
// 字符串和字符串
var x = "10";
var y = "20";
var z = x + y;            // z 将是 1020(字符串)
//数字和字符串
var x = 10;
var y = "20";
var z = x + y;           // z 将是 1020(一个字符串)
// 字符串和数字
var x = "10";
var y = 20;
var z = x + y;           // z 将是 1020(字符串)
// 数字、数字、字符串
var x = 10;
var y = 20;
var z = "30";
var result = x + y + z;        // z 是 3030(字符串)

JavaScript 从左到右执行。如果前两个都是数字的话,那就按照数字进行计算。从遇到i的一个字符串开始就开始按照字符串的方法进行级联

数字字符串

JavaScript 字符串也拥有一部分数字的计算性质。但是仅对于能够准确判断字符串中的字符可以转换为指定的字面值数字,而且运算符不是+的时候。例如:

var x = 100; // x 是数字

var y = "100"; // x 是字符串

在所有的数字运算中, JavaScript 会尝试将字符串转换为数字。

var x = "100";
var y = "10";
var z = x / y; // z 是 10
var z = x * y; // z 是 1000
var z = x - y; // z 是 90
var z = x + y; // z 是 10010(字符串)

JavaScript 会将最后一个例子当成是字符串的级联

NaN - 非数值

NaN 属于 JavaScript 保留字,代表某个数字不合法。任何值与 NaN 进行计算都是 NaN。如果是字符串,那么可以对其进行级联

使用函数 isNaN() 来确定某个值是否是数字。

var x = NaN;
var y = "5";
var z = x + y;         // z 将是 NaN5
typeof NaN; // 返回 "number"

Infinity

Infinity或者(-Infinity) 是 JavaScript 超出最大值范围时返回的值。

例如除以零。

var x =  2 / 0;          // x 将是 Infinity
var y = -2 / 0;          // y 将是 -Infinity
typeof Infinity;        // 返回 "number"

十六进制

只需要带上前缀 0x即可被 JavaScript 解释为十六进制。

var x = 0xFF; // 十六进制

或者使用 toString()将其转换为各类进制的字符串版本

var myNumber = 128;
myNumber.toString(16);     // 返回 80
myNumber.toString(8);      // 返回 200
myNumber.toString(2);      // 返回 10000000

方法

toString()方法

toString() 以字符串返回数值。可以在参数中传入需要转换的进制数,例如 1682等。

var x = 123;
x.toString(); // x is "123"
(123).toString(); // return the string "123"
(100 + 23).toString(); // return the string "123"
// 表达式将会被计算之后返回

toExponential()方法

返回字符串值,包含已经被四舍五入的指数计数法的值。

参数定义小数点后的字符数。

toFixed()方法

返回字符串值,包含已经被四舍五入的指定小数点后的字符数。

toPrecision() 方法

返回字符串值,包含指定长度的数字。

注意,它与toFixed()的区别仅仅在于有没有进行四舍五入

valueOf() 方法

返回某个对象的原始数值。例如将 Number对象转换为原始值。

将变量转换为数值

方法表述
Number(parameter)返回数字
parseFloat(parameter)返回浮点数
parseInt(parameter)返回证书

数值属性

属性描述
MAX_VALUE返回 JavaScript 中可能的最大数。
MIN_VALUE返回 JavaScript 中可能的最小数。
NEGATIVE_INFINITY表示负的无穷大(溢出返回)。
NaN表示非数字值("Not-a-Number")。
POSITIVE_INFINITY表示无穷大(溢出返回)。

例如:

var x = Number.MAXVALUE;

数字属性只能由Number进行访问,不能用于变量。

var x = 6;
var y = x.MAX_VALUE;    // y 成为 undefined
最后更新 2022-01-07
评论 ( 0 )
OωO
隐私评论