白乐天

道阻且长,行则将至。

JavaScript

基本语法

声明变量

在JavaScript中,使用var关键字来声明变量,声明块级作用域变量使用let

数据类型

  • null

    空值。

  • undefined

    未定义,即变量在声明时没有被初始化。

  • boolean

    true表示真,false表示假。

  • number

    整数和浮点数。

  • string

    字符串。

  • object

    在JavaScript中,object是一种用于存储键值对(属性和方法)的集合。

  • function

    函数。

    1
    2
    3
    function fun(){
    console.log("this is a function!");
    }

运算符

比较运算符

  • ==

    相等运算符

    如果两个值不是同一类型,相等运算符(==)会将它们转换成同一个类型,再用严格相等运算符进行比较。

  • ===

    严格相等运算符

    比较两个值是否为“同一个值”。如果两个值不是同一类型,严格相等运算符(===)直接返回false

流程控制

if

1
2
3
if (expression){
...
}
1
2
3
4
5
if (expression){
...
} else {
...
}
1
2
3
4
5
6
7
if (expression){
...
} else if (expression) {
...
} else {

}

for

1
2
3
4
let i;
for (i=0;i<100;i++){
...
}

for … in

for循环的一个变体是for ... in循环,它可以把一个对象的所有属性依次循环出来。

1
2
3
4
5
6
7
8
let stu = {
name: 'Jack',
age: 20,
city: 'Beijing'
};
for (let s in stu) {
console.log(s); // 'name', 'age', 'city'
}

while

1
2
3
while (expression) {
...
}

do … while

1
2
3
do {
...
} while(expression)

typeof

typeof 是一个操作符,用于检测变量的数据类型,返回一个表示类型的字符串。

1
2
typeof variable;       // 写法1
typeof(variable); // 写法2(括号可省略,但在复杂表达式时可能需要)

函数

1
2
3
function FuncName(){
//函数体
}

对象

JavaScript的对象是一种无序的集合数据类型,它由若干键值对组成。

标准对象

String

new

1
2
3
4
5
6
7
var aaa = new String("123")
console.log(aaa)
console.log(aaa.valueOf())

>>>
[String: '123']
123

length

字符串的长度。

concat()

连接两个字符串,返回一个新字符串,不改变原字符串。

indexOf()

用于确定一个字符串在另一个字符串中第一次出现的位置,返回结果是匹配开始的位置。如果返回-1,就表示不匹配。

1
2
3
4
'hello world'.indexOf('o') // 4
'JavaScript'.indexOf('script') // -1

'hello world'.indexOf('o', 6) // 7,可以接受第二个参数,表示从该位置开始向后匹配。

split()

按照给定规则分割字符串,返回一个由分割出来的子字符串组成的数组。

1
2
3
4
5
'a|b|c'.split('|') // ["a", "b", "c"]

'a|b|c'.split('') // ["a", "|", "b", "|", "c"],如果分割规则为空字符串,则返回数组的成员是原字符串的每一个字符。

'a|b|c'.split() // ["a|b|c"],如果省略参数,则返回数组的唯一成员就是原字符串。

valueOf()

返回对象的原始值。

obj.toString()

用于将对象转换为字符串。

不同对象类型通过重写该方法提供特定的字符串输出。