基础知识
1.注释/**/ 块注释,与正则表达式有冲突,不安全。
2.js数字类型只有一个,即为64位的浮动值
3.NaN是一个数值,他不能产生正常结果的运算结果。NaN不等于任何值,包括它自己。isNaN检测是否NaN
4.Js中所有的字符都是16位。
5.函数的声明和函数的定义:
//函数声明
console.log(f);
function f(x){
return x;
}
//函数定义
console.log(z);//undefined
var z = function(x){
return x;
};
区别:函数定义,只是变量声明提前,变量的初始化代码任然在原来的位置。函数声明:函数名称和函数体均提前,脚本中的所有函数和函数中所嵌套的函数都会在其他代码前声明。(变量提升,z是什么变量都将提升,这里只是为了说明函数声明和定义的区别)
数组
var a = [1,,,,5];//其他三个值为undefined 稀疏数组
var b = [1,2,3,4];
var c = [5,6];
1.concat()
b.concat(c);//[1,2,3,4,5,6]
2.join
c.join();//5,6
c.join("");//56
c.join("-");//5-6
3.reverse();倒序
4.splice() //删除和插入
1)删除
b.splice(1,2);//1为从第几个开始,2为删除几个
2)插入
b.splice(1,2,33,44,44,22);//1为从第几个开始,2为删除几个,2后面的数值都为插入的数值。
5.循环的一些,参数一样,功能有差异。返回值也不能。
1)every 返回值:boolean
b.every(function(v , i , arr){
//v 自身的值,i索引,arr数组
});
2)foreach ,map ,some ,filter
6.slice() 选择 slice(start,end)//包括start不包括end
事件:
addEventListener( a , b , c)//a为事件名例如click,b调用的函数,c为捕获处理程序
这个方法为一个对象注册同一事件类型的多个处理程序函数
var btn = document.getElementById('btn'); btn.addEventListener( 'click', function(){ alert('a'); ); btn.addEventListener( 'click', function(){ alert('b');} ); btn.onclick=function(){alert('cc');};
btn.onclick=function(){alert('dd');};
//这里不执行alert("cc");