JavaScript 基础操作
- 获取数组长度
var color = ["red","green","blue","yellow"];
color.length; // returns 4
- 数组和字符串之间的转换
通过split()方法,将字符串转换为数组。
"1:2:3:4".split(":") // returns ["1", "2", "3", "4"]
"|a|b|c".split("|") // returns ["", "a", "b", "c"]
相反的我们通过join()方法将数组转换为字符串。
["1", "2", "3", "4"].join(":"); // returns "1:2:3:4"
["", "a", "b", "c"].join("|"); // returns "|a|b|c"
- 添加和删除数组项
在数组尾部添加一个或者多个元素,使用push()方法。
var arr = ["1", "2", "3", "4"];
arr.push("5","6");
arr; // returns ["1", "2", "3", "4", "5", "6"]
使用pop()方法将删除数组的最后一个元素,把数组长度减1,并且返回它删除的元素的值。如果数组已经为空,则pop()不改变数组,然后返回undefined值。
var arr = ["1", "2", "3", "4"];
arr.pop(); //returns 4
arr; // returns ["1", "2", "3"]
var arr1 = [];
arr1.pop(); //returns undefined
arr1; //returns []
- null 和 undefined
null == 0 //false
null == false //false
0 == false //true
undefined == 0 //false
undefined == false //false
undefined == null //true
undefined === null //false
- 常见的转义符
转义字符 | 意义 |
---|---|
\a | 响铃(BEL) |
\b | 退格,将当前位置移到前一列 |
\f | 换页,将当前位置移到下页开头 |
\n | 换行,将当前位置移到下一行开头 |
\r | 回车,将当前位置移到本行开头 |
\t | 水平制表 |
\v | 垂直制表 |
\ | 斜杠 |
’ | 单引号 |
" | 双引号 |
? | 问号 |
\0 | 空字符 |
\ooo | 1到3位八进制数所代表的任意字符 |
\xhh | 1到2位十六进制所代表的任意字符 |
- 字符串转换
var myNum = 123;
var myString = myNum.toString();
typeof myString;//string
var num = 16;
console.log(num.toString()); //"16" 默认是10进制
console.log(num.toString(10));//"16"
console.log(num.toString(2)); //"10000"
console.log(num.toString(8)); //"20"
console.log(num.toString(16));//"10"
有的值没有toString()方法,所以需要用String(),比如null和undefined。
var num1 = Number(true);
num1; // true 返回 1,false 返回 0
var num2 = Number(undefined);
num2; // 返回 NaN
var num3 = Number(null);
num3; //返回 0
var num4 = Number("syl");
num4; // 返回 NaN
var num5 = Number(" ");
num5; // 如果是空字符串返回 0
var num6 = Number("[]");
num6; // 如果是空数组返回 0
var num7 = Number("{}");
num8; // 如果是空对象返回 NaN
var num9 = Number("[{}]");
num9; // 如果是空对象数组返回 NaN
var num10 = Number(123);
num10; // 返回123,如果是数字型的字符,返回数字
var num11 = Number("123abc");
num11; // 返回 NaN
- 获取字符串的长度
var myString = "hello world ";
myString.length;
myString[0];//查看字符串的第一个字符
- 在字符串中查找子字符串并提取它
str.indexOf(searchValue, fromIndex);
str 指的是我们需要查的较长的字符串,searchValue 表示我们指定的较小的字符串,fromIndex 表示调用该方法的字符串中开始查找的位置,是一个可选的任意整数值,也可以不写,默认是 0 表示从头开始查,fromIndex < 0 和 fromIndex = 0 是一样的效果,表示从头开始查找整个字符串。如果 fromIndex >= str.length,则该方法的返回值为 -1。这里有个特殊的情况:就是如果被查找的字符串(searchValue)是一个空字符串,那么当 fromIndex <= 0 时返回 0,0 < fromIndex <= str.length 时返回 fromIndex,fromIndex > str.length 时返回 str.length。这样说你可能不太明白,我们来实践一下看看实际效果:
"Blue Sky".indexOf("Blue"); // returns 0
"Blue Sky".indexOf("Ble"); // returns -1
"Blue Sky".indexOf("Sky", 0); // returns 5
"Blue Sky".indexOf("Sky", -1); // returns 5
"Blue Sky".indexOf("Sky", 5); // returns 5
"Blue Sky".indexOf("Sky", 9); // returns -1
"Blue Sky".indexOf("", 0); // returns 0
"Blue Sky".indexOf("", 5); // returns 5
"Blue Sky".indexOf("", 9); // returns 8
- 切换大小写
字符串方法 toLowerCase() 和 toUpperCase() 字符串并将所有字符分别转换为小写或大写。比如:
var string = "I like study";
string.toLowerCase(); // returns "i like study"
string.toUpperCase(); // returns "I LIKE STUDY"
- 替换字符串的某部分
可以使用 replace() 方法将字符串中的一个子字符串替换为另一个子字符串。比如:
var string = "I like study";
string.replace("study","sleep"); // returns "I like sleep"
- 字符串转换成整数
var num1 = parseInt("12.3abc");
num1; //返回 12,如果第一个字符是数字会解析知道遇到非数字结束,只取整,不是约等于
var num2 = parseInt("abc123");
num2; //返回 NaN,如果第一个字符不是数字或者符号就返回 NaN
var num3 = parseInt("");
num3; // 空字符串返回 NaN,但是 Number("")返回 0
var num4 = parseInt("520");
num4; //返回 520
var num5 = parseInt("0xA");
num5; //返回 10
var num6 = parseInt([]);
num6; // 空字符串返回 NaN,但是 Number([])返回 0
var num7 = parseInt({});
num7; // 空字符串返回 NaN,但是 Number([])返回 0
var num8 = parseInt([{}]);
num8; // 空字符串返回 NaN,但是 Number([{}])返回 0
另外值得注意的是,parseInt()可以传递两个参数,第一个参数是要转换的字符串,第二个参数是要转换的进制
- 字符串转换成浮点数
parseFloat("10"); // returns 10
parseFloat("10.000"); // returns 10
parseFloat("10.01"); // returns 10.01
parseFloat(" 10 "); // returns 10
parseFloat("10 hours"); // returns 10
parseFloat("aaa 10 "); // returns NaN
- 减0操作
var n="10";
var m=n-0;
m; // returns 10
var n = "abc";
var m = n - 0;
m; // returns NaN
typeof(m); // returns "number"
- 转换成布尔类型
Boolean(123);// returns true
Boolean("abc"); // returns true
Boolean(null); // returns false
Boolean(undefined); // returns false
Boolean(NaN); // returns false
Boolean(0); // returns false
Boolean(""); // returns false
Boolean([]); // returns true
Boolean([{}]); // returns true
Boolean({}); // returns true
Boolean(false); // returns false
Boolean("false"); // returns true
Boolean(-1); // returns true