一:JS基础语法
1.JS关键词
关键词 描述
break 终止 switch 或循环。
continue 跳出循环并在顶端开始。
debugger 停止执行 JavaScript,并调用调试函数(如果可用)。
do ... while 执行语句块,并在条件为真时重复代码块。
for 标记需被执行的语句块,只要条件为真。
function 声明函数。
if ... else 标记需被执行的语句块,根据某个条件。
return 退出函数。
switch 标记需被执行的语句块,根据不同的情况。
try ... catch 对语句块实现错误处理。
var 声明变量。
2.Undefined 与 Null 的区别
Undefined 与 null 的值相等,但类型不相等:
typeof undefined // undefined
typeof null // object
空值
var car = ""; // 值是 "",类型是 "string"
null === undefined // false
null == undefined // true
3.原始数据返回类型
typeof 运算符可返回以下两种类型之一:
function
object
typeof 运算符把对象、数组或 null 返回 object。
typeof 运算符不会把函数返回 object。
实例
typeof {name:'Bill', age:62} // 返回 "object"
typeof [1,2,3,4] // 返回 "object" (并非 "array",参见下面的注释)
typeof null // 返回 "object"
typeof function myFunc(){} // 返回 "function"
4.字符串长度
length 属性返回字符串的长度:
5.查找字符串中的字符串
indexOf() 方法返回字符串中指定文本首次出现的索引(位置):
实例
var str = "The full name of China is the People's Republic of China.";
var pos = str.indexOf("China");
lastIndexOf() 方法返回指定文本在字符串中最后一次出现的索引:
实例
var str = "The full name of China is the People's Republic of China.";
var pos = str.lastIndexOf("China");
如果未找到文本, indexOf() 和 lastIndexOf() 均返回 -1。
两种方法都接受作为检索起始位置的第二个参数。
实例
var str = "The full name of China is the People's Republic of China.";
var pos = str.indexOf("China", 18);
6.检索字符串中的字符串
search() 方法搜索特定值的字符串,并返回匹配的位置:
实例
var str = "The full name of China is the People's Republic of China.";
var pos = str.search("locate");
7.提取部分字符串
有三种提取部分字符串的方法:
slice(start, end)
substring(start, end)
substr(start, length)
slice() 方法
slice() 提取字符串的某个部分并在新字符串中返回被提取的部分。
该方法设置两个参数:起始索引(开始位置),终止索引(结束位置)
substring() 方法
substring() 类似于 slice()。
不同之处在于 substring() 无法接受负的索引。
substr() 方法
substr() 类似于 slice()。
不同之处在于第二个参数规定被提取部分的长度。
8.替换字符串内容
replace() 方法用另一个值替换在字符串中指定的值:
实例
str = "Please visit Microsoft!";
var n = str.replace("Microsoft", "W3School");
replace() 方法不会改变调用它的字符串。它返回的是新字符串。
默认地,replace() 只替换首个匹配:
默认地,replace() 对大小写敏感
9.转换为大写和小写
通过 toUpperCase() 把字符串转换为大写:
10.concat() 方法
concat() 连接两个或多个字符串:
11.String.trim()
trim() 方法删除字符串两端的空白符:
12.charAt() 方法
charAt() 方法返回字符串中指定下标(位置)的字符串:
实例
var str = "HELLO WORLD";
str.charAt(0);
13.charCodeAt() 方法
charCodeAt() 方法返回字符串中指定索引的字符 unicode 编码:
14.把字符串转换为数组
可以通过 split() 将字符串转换为数组:
实例
var txt = "a,b,c,d,e"; // 字符串
txt.split(","); // 用逗号分隔
txt.split(" "); // 用空格分隔
txt.split("|"); // 用竖线分隔
如果分隔符是 "",被返回的数组将是间隔单个字符的数组:
实例
var txt = "Hello"; // 字符串
txt.split(""); // 分隔为字
15.NaN - 非数值
NaN 属于 JavaScript 保留词,指示某个数不是合法数。
尝试用一个非数字字符串进行除法会得到 NaN(Not a Number):
16.Infinity
Infinity (或 -Infinity)是 JavaScript 在计算数时超出最大可能数范围时返回的值。
17.toString() 方法
toString() 以字符串返回数值。
所有数字方法可用于任意类型的数字(字面量、变量或表达式):
18.toFixed() 方法
toFixed() 返回字符串值,它包含了指定位数小数的数字:
实例
var x = 9.656;
x.toFixed(0); // 返回 10
x.toFixed(2); // 返回 9.66
x.toFixed(4); // 返回 9.6560
x.toFixed(6); // 返回 9.656000
19.valueOf() 方法
valueOf() 以数值返回数值:
实例
var x = 123;
x.valueOf(); // 从变量 x 返回 123
(123).valueOf(); // 从文本 123 返回 123
(100 + 23).valueOf(); // 从表达式 100 + 23 返回 123
20.把变量转换为数值
这三种 JavaScript 方法可用于将变量转换为数字:
Number() 方法
parseInt() 方法
parseFloat() 方法
21.数组和对象的区别
在 JavaScript 中,数组使用数字索引。
在 JavaScript 中,对象使用命名索引。
数组是特殊类型的对象,具有数字索引。
何时使用数组,何时使用对象?
JavaScript 不支持关联数组
如果希望元素名为字符串(文本)则应该使用对象。
如果希望元素名为数字则应该使用数组。