1.字符串的常用函数及属性。
concat() – 将两个或多个字符的文本组合起来,返回一个新的字符串。
indexOf() – 返回字符串中一个子串第一处出现的索引。如果没有匹配项,返回 -1 。
charAt() – 返回指定位置的字符。
lastIndexOf() – 返回字符串中一个子串最后一处出现的索引,如果没有匹配项,返回 -1 。
match() – 检查一个字符串是否匹配一个正则表达式。
substr() 函数 – 返回从string的startPos位置,长度为length的字符串
substring() – 返回字符串的一个子串。传入参数是起始位置和结束位置。
slice() – 提取字符串的一部分,并返回一个新字符串。
replace() – 用来查找匹配一个正则表达式的字符串,然后使用新字符串代替匹配的字符串。
search() – 执行一个正则表达式匹配查找。如果查找成功,返回字符串中匹配的索引值。否则返回 -1
split() – 通过将字符串划分成子串,将一个字符串做成一个字符串数组。
length – 返回字符串的长度,所谓字符串的长度是指其包含的字符的个数。
toLowerCase() – 将整个字符串转成小写字母。
toUpperCase() – 将整个字符串转成大写字母。
对字符串的索引也是从零开始的。尽量避免使用s[i],而是使用s.charAt(i)函数。
2.函数在js中是一种数据类型,因此可以被赋值给对象的属性。
三种定义函数的方式:
function square(x) {return x*x;}
var square = function(x) {return x*x;}
var square = new Function("x","return x*x;");
第三种方式很少使用。
3.对象
对象是已命名的数据的集合。这些已命名的数据经常被当成属性来引用。对象的属性可以是任何数据类型,包括数组、函数或者其他对象。如果函数是存储在一个对象的属性当中,那么函数一般被称为方法,然后在后面添加()调用。
对象可以作为关联数组来使用,也就是说我们可以用 对象名["属性名"]来引用属性。
对象可以调用特殊的构造函数创建,例如
var obj = new Object();
我们也可以直接定义 var point ={x:2,y:3};
4.数组
数组也是数据的集合,但其中的数据没有名字,只有一个下标引用。
数组可以存放任何一种js数据类型,包括对其他数组、对象或函数的引用。而且与其他高级语言不一样,并不要求其中存放的数据类型相同。
数组可以使用var a = new Array();来创建。如果传入多个数据,那么将使用这些数据来构造数组;如果只传入一个正整数参数,那么该参数是数组的长度。
或者直接使用var a = [1,2,3];来创建数组。
可以使用length属性来访问数组的长度。
数组对象有以下方法(具体可参考https://www.w3school.com.cn/jsref/jsref_obj_array.asp):
concat() | 连接两个或更多的数组,并返回结果。 |
join() | 把数组的所有元素放入一个字符串。元素通过指定的分隔符进行分隔。 |
pop() | 删除并返回数组的最后一个元素 |
push() | 向数组的末尾添加一个或更多元素,并返回新的长度。 |
reverse() | 颠倒数组中元素的顺序。 |
shift() | 删除并返回数组的第一个元素 |
slice() | 从某个已有的数组返回选定的元素 |
sort() | 对数组的元素进行排序 |
splice() | 删除元素,并向数组添加新元素。 |
toSource() | 返回该对象的源代码。 |
toString() | 把数组转换为字符串,并返回结果。 |
toLocaleString() | 把数组转换为本地数组,并返回结果。 |
unshift() | 向数组的开头添加一个或更多元素,并返回新的长度。 |
valueOf() | 返回数组对象的原始值 |
5.null
null是一个特殊的值,表示无值。null一般用于表示对象类型的特殊值,也就是无对象的值。如果一个变量的值为null,意味着它的值不是任何有效的对象、数组、数字、字符串和布尔值。
6.undefined
在使用了一个并未声明的变量,或者使用了已经声明但是没有赋值的变量,或者使用了一个并不存在的对象属性时,返回的就是这个值。虽然undefined和null值不同,但是==运算符却将两者看作相等。如果必须要区分二者,可以使用===运算符或者typeof运算符。
7.Date对象
不是基本类型,是js内置的对象类,用于表示日期和时间。
可以去https://www.w3school.com.cn/js/jsref_obj_date.asp获得Date类的方法和属性。
8.正则表达式
也不是基本类型,但是为所有js实现都支持的特殊对象类型,为两条斜杠之间的文本。
可以参考https://www.w3school.com.cn/jsref/jsref_obj_regexp.asp
9.包装对象
使用字符串时,有时需要直接在字符串上调用函数,并不是这个字符串转成了一个对象,而是js为我们生成了一个临时的包装对象。我们有String、Number和Boolean三个包装类。
10.顶层函数(全局函数)
decodeURI() | 解码某个编码的 URI。 |
decodeURIComponent() | 解码一个编码的 URI 组件。 |
encodeURI() | 把字符串编码为 URI。 |
encodeURIComponent() | 把字符串编码为 URI 组件。 |
escape() | 对字符串进行编码。 |
eval() | 计算 JavaScript 字符串,并把它作为脚本代码来执行。 |
getClass() | 返回一个 JavaObject 的 JavaClass。 |
isFinite() | 检查某个值是否为有穷大的数。 |
isNaN() | 检查某个值是否是数字。 |
Number() | 把对象的值转换为数字。 |
parseFloat() | 解析一个字符串并返回一个浮点数。 |
parseInt() | 解析一个字符串并返回一个整数。 |
String() | 把对象的值转换为字符串。 |
unescape() | 对由 escape() 编码的字符串进行解码。 |