Julia's BLOG

JS 学习笔记-1

2018-02-10

11. 字符串方法

Method 描述
charAt() 返回指定索引位置的字符
charCodeAt() 返回指定索引位置字符的 Unicode 值
concat() 连接两个或多个字符串,返回连接后的字符串
fromCharCode() 将字符转换为 Unicode 值
indexOf() 返回字符串中检索指定字符第一次出现的位置
lastIndexOf() 返回字符串中检索指定字符最后一次出现的位置
localeCompare() 用本地特定的顺序来比较两个字符串
match() 找到一个或多个正则表达式的匹配
replace() 替换与正则表达式匹配的子串
search() 检索与正则表达式相匹配的值
slice() 提取字符串的片断,并在新的字符串中返回被提取的部分
split() 把字符串分割为子字符串数组
substr() 从起始索引号提取字符串中指定数目的字符
substring() 提取字符串中两个指定的索引号之间的字符
toLocaleLowerCase() 根据主机的语言环境把字符串转换为小写,只有几种语言(如土耳其语)具有地方特有的大小写映射
toLocaleUpperCase() 根据主机的语言环境把字符串转换为大写,只有几种语言(如土耳其语)具有地方特有的大小写映射
toLowerCase() 把字符串转换为小写
toString() 返回字符串对象值
toUpperCase() 把字符串转换为大写
trim() 移除字符串首尾空白
valueOf() 返回某个字符串对象的原始值

12. 比较运算符

x=5

=== 绝对等于(值和类型均相等) x===”5” FALSE
x===5 TRUE
!== 不绝对等于(值和类型有一个不相等,或两个都不相等) x!==”5” TRUE
x!==5 FALSE

13. JavaScript 数据类型

在 JavaScript 中有 5 种不同的数据类型:

​ • string

​ • number

​ • boolean

​ • object

​ • function

3 种对象类型:

​ • Object

​ • Date

​ • Array

2 个不包含任何值的数据类型:

​ • null

​ • undefined

1)typeof 操作符

你可以使用 typeof 操作符来查看 JavaScript 变量的数据类型。

实例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
typeof "John"                 // 返回 string 

typeof 3.14 // 返回 number

typeof NaN // 返回 number

typeof false // 返回 boolean

typeof [1,2,3,4] // 返回 object

typeof {name: 'John', age:34} // 返回 object

typeof new Date() // 返回 object

typeof function () {} // 返回 function

typeof myCar // 返回 undefined (if myCar is not declared)

typeof null // 返回 object

请注意:

​ • NaN 的数据类型是 number

​ • 数组(Array)的数据类型是 object

​ • 日期(Date)的数据类型为 object

​ • null 的数据类型是 object

​ • 未定义变量的数据类型为 undefined

2)数字转字符串

全局方法 String() 可以将数字转换为字符串。

实例

1
2
3
4
5
6
7
String(x)         // 将变量 x 转换为字符串并返回

String(123) // 将数字 123 转换为字符串并返回

String( 100+ 23) // 将数字表达式转换为字符串并返回

Number 方法 toString() 也是有同样的效果。

实例

1
2
3
4
5
x.toString() 

(123).toString()

(100 + 23).toString()

其他方法

方法 描述
toExponential() 把对象的值转换为指数计数法。
toFixed() 把数字转换为字符串,结果的小数点后有指定位数的数字。
toPrecision() 把数字格式化为指定的长度。

3)布尔转字符串

全局方法 String() 可以将布尔值转换为字符串。

1
2
3
4
5
6
7
8
9
String(false)        // 返回 "false"

String(true) // 返回 "true"

Boolean 方法 toString() 也有相同的效果。

false.toString() // 返回 "false"

true.toString() // 返回 “true”

4)日期转字符串

全局方法 String() 可以将日期转换为字符串。

1
String(Date())      // 返回 Thu Jul 17 2014 15:38:19 GMT+0200 (W. Europe Daylight Time)

Date 方法 toString() 也有相同的效果。

1
Date().toString()   // 返回 Thu Jul 17 2014 15:38:19 GMT+0200 (W. Europe Daylight Time)

其他方法

方法 描述
getDate() 从 Date 对象返回一个月中的某一天 (1 ~ 31)。
getDay() 从 Date 对象返回一周中的某一天 (0 ~ 6)。
getFullYear() 从 Date 对象以四位数字返回年份。
getHours() 返回 Date 对象的小时 (0 ~ 23)。
getMilliseconds() 返回 Date 对象的毫秒(0 ~ 999)。
getMinutes() 返回 Date 对象的分钟 (0 ~ 59)。
getMonth() 从 Date 对象返回月份 (0 ~ 11)。
getSeconds() 返回 Date 对象的秒数 (0 ~ 59)。
getTime() 返回 1970 年 1 月 1 日至今的毫秒数。

5)字符串转数字

全局方法 Number() 可以将字符串转换为数字。

1
2
3
4
5
6
7
Number("3.14")    // 返回 3.14

Number(" ") // 返回 0

Number("") // 返回 0

Number("99 88") // 返回 NaN

其他方法

方法 描述
parseFloat() 解析一个字符串,并返回一个浮点数。
parseInt() 解析一个字符串,并返回一个整数。

6)一元运算符 +

Operator + 可用于将变量转换为数字:

实例

1
2
3
var y = "5";      // y 是一个字符串

var x = + y; // x 是一个数字

如果变量不能转换,它仍然会是一个数字,但值为 NaN (不是一个数字):

实例

1
2
3
var y = "John";   // y 是一个字符串

var x = + y; // x 是一个数字 (NaN)

7)将布尔值转换为数字

全局方法 Number() 可将布尔值转换为数字。

1
2
3
Number(false)     // 返回 0

Number(true) // 返回 1

8)将日期转换为数字

全局方法 Number() 可将日期转换为数字。

1
2
3
d = new Date(); 

Number(d) // 返回 1404568027739

日期方法 getTime() 也有相同的效果。

1
2
3
d = new Date(); 

d.getTime() // 返回 1404568027739

9)自动转换类型 Type Conversion

当 JavaScript 尝试操作一个 “错误” 的数据类型时,会自动转换为 “正确” 的数据类型。

以下输出结果不是你所期望的:

1
2
3
4
5
6
7
5 + null    // 返回 5         because null is converted to 0

"5" + null // 返回"5null" because null is converted to "null"

"5" + 1 // 返回 "51" because 1 is converted to "1"

"5" - 1 // 返回 4 because "5" is converted to 5

10)自动转换为字符串

当你尝试输出一个对象或一个变量时 JavaScript 会自动调用变量的 toString() 方法:

1
2
3
4
5
6
7
document.getElementById("demo").innerHTML = myVar; 

// if myVar = {name:"Fjohn"} // toString 转换为 "[object Object]"

// if myVar = [1,2,3,4] // toString 转换为 "1,2,3,4"

// if myVar = new Date() // toString 转换为 "Fri Jul 18 2014 09:08:55 GMT+0200"

数字和布尔值也经常相互转换:

1
2
3
4
5
// if myVar = 123             // toString 转换为 "123"

// if myVar = true // toString 转换为 "true"

// if myVar = false // toString 转换为 "false"

11)null

在 JavaScript 中 null 表示 “什么都没有”,是一个只有一个值的特殊类型,表示一个空对象引用。

当设置为“null”时,可以用来清空对象:

1
var person = null; // 值为 null(空), 但类型为对象

提示:你可以使用 typeof 检测 null 返回是object。

12)undefined

在 JavaScript 中 undefined 是一个没有设置值的变量。

如果一个变量没有设置值的话,就会返回 undefined:

1
var person; // 值为 undefined(空), 类型是undefined
使用支付宝打赏
使用微信打赏

若你觉得我的文章对你有帮助,欢迎点击上方按钮对我打赏

扫描二维码,分享此文章