freeCodeCamping练习javascript总结
1、JavaScript其中data type(数据类型):undefined(未定义),null(空),boolean,string,symbol(符号),number ,object。
2、javascript中的变量声明时,会有一个初始值undefined,对一个undefined进行运算操作时,结果是NAN,not a number。当用undefined做字符串连接操作,会如实输出undefined。
3、JavaScript转义字符。\' 单引号 \"双引号 \\反斜杠 \n换行 \r回车 \t制表
4、.length属性。通过在字符串变量或者字符转后加上.length获取字符串长度。 var l='acsd'.length
5、JavaScript中只有字符串类型,没有字符类型。可以通过索引获取字符串中某个字符。 ‘hello’[0] "hello"["hello".length-1]
6、字符串的值不可变,只是字符串的字面量的各个字符永远不能改变。
var str="aaa"; var str='aaa'
str[0]=b;//str='aaa' str="bbb"//变量指向位置改变
7、数组
push(),把一个或多个参数推送到数组的尾部
pop(),移除数组中最后一个元素,并返回。 var a=[1,2,3].pop();//a=3 数组[1,2]
shift(),移除数组中第一个元素,原理同pop()一样,
unshift(),添加一个元素在数组的头部
slice(start,end),截取数字或字符串中指定元素,从start开始,到end结束,包括start ,不包括end。不写end,默认从start到最后。
8、== === != !==
1==“1”//true 、 1==="1"//false 、 1!=“1”//false、1!=="1"//true
9、访问对象object两种方式 object.name object["name"]
10、hasOwnProperty(propname),判断一个对象属性是否存在
11、生成0-9之间随机整数 Math.floor(Math.random()*10)
生成n-m之间随机整数 Math.floor(Math.random()*(m-n+1))+n
12、var conut=str.match(expression).length;//通过正则表达式查看指定字符串在str中出现的次数. \s匹配空白字符 \S匹配非空白字符
13、map()函数迭代数组,不改变原始数组。
var oldArray = [1,2,3,4,5];
var newArray =oldArray.map(function(val){
return val+=3;
});
reduce()函数迭代数组,累计,第二个参数初始值可选,
var array = [4,5,6,7,8];
var singleVal = 0;
singleVal = array.reduce(function(previousVal,currentVal){
return previousVal+currentVal;
});
filter()函数迭代数组,按给出的条件过滤出符合的元素,不改变原数组
var oldArray = [1,2,3,4,5,6,7,8,9,10];
var newArray = oldArray.filter(function(val){
return val<6;
});
sort()函数对数组排序
var array = [1, 12, 21, 2];
array.sort(function(a, b) {
return a - b;//从小到大排序
});
reverse()翻转数组
var myArray = [1, 2, 3];
myArray.reverse();//myArray=[3,2,1]
concat可以把两个数组的内容合并到一个数组 newArray=oldArray.concat(otherArray)
split()方法按照指定分隔符将字符串分割为数组
join()方法把数组转换成字符串,可以指定连接符作为参数传入。 var str=arr.join("-")