JavaScript知识点总结1

近期学习js知识的总结,,还会有2,3,4····

事件:

onclick,onmouseover,onmouseout,onmouseup,onmousedown,onchange,onload

获取元素:

通过id获取元素 :document.getElementById();

通过Tag获取元素: document.getElementsByTagName();

函数:

定义函数:function 函数名(){}

执行函数:谁调用了这个函数就在谁那里执行。

变量:

var 变量名=变量值

".":只能操作已存在的属性。

"[]":可以接受一个变量,点能够操作的中括号都能操作。

循环:

for:

    //初始值var i=0,
    //条件i<6,
    //自增i++ 代表每次加1
    for(var i=0;i<6;i++){
        alert(i);
    }

while:

    //初始值
    var i=0;
    //条件
    while(i<6){
        alert(i);
        //自增
        i++;
    }

this:

表示当前发生事件的元素。

变量类型:

判断变量类型用typeof

1,字符串:string

2,数字number(包含NaN)

3,布尔值:boolean

4,未定义:undefined(1访问一个不存在的属性2变量定义未赋值)

5函数:function

6,对象:Object

数据类型转换:

parseInt();parseFloat();Number();

*Number('12.5abc')=>NaN parseInt('12.5abc')=>12.5

运算符:

1,算数运算符:+,-,,/,% 2,赋值运算符:=,+=,-=,=,/=,%= 3,比较运算 == >,>=,<,<= ​ ==相等 !=不等于 ​ ===相等 !==不等于 逻辑运算:||或 &&与 !取反

流程控制if

1,if(条件){ 条件满足就走语句一 }else{ 条件不满足就走语句二 } 简写:三目:条件?语句一:语句二; 2,if(条件){ 语句; } 简写:条件&&语句; 3, if(条件一){ 语句一 }else if(条件二){ 语句二 }else{ 语句三 } ####switch switch(条件){

 case 条件1:
      语句一;
 break;
 case 条件2:
      语句二
   break;
 default:
      默认语句

}

break:中断整个程序,不再执行 continue:中断此次程序,继续下一次程序

判断真假:

真:非零数字,非空字符串,true,非空对象;

假:数字0,NaN,空字符串,false,undefined,null;

获取非行间样式:

window.onload=function(){
    var oBox=document.getElementById('box');
    oBox.onclick=function(){
        //getComputedStyle(obj,false);高版本
        //obj.currentStyle;ie系列
        //alert(getComputedStyle(oBox,false));在ie8直接报错
        alert(oBox.currentStyle);//在chrome和ff是undefined
        if(oBox.currentStyle){
            alert(oBox.currentStyle.width);
        }else{
            alert(getComputedStyle(oBox,false).width);
        }
    }
}

eval():

可将字符串转化成js可执行代码。很强大,容易造成eval注入问题

定时器:

连续不断执行:

var timer = setInterval(函数,时间)

清空定时器:clearInterval(timer);

只执行一次:

setTimeout(函数,时间)

时间对象:

var oDate=new Date();
var iY=oDate.getFullYear();
var iMon=oDate.getMonth()+1;
var iD=oDate.getDate();
var iWeek=oDate.getDay();
var iH=oDate.getHours();
var iM=oDate.getMinutes();
var iS=oDate.getSeconds();
//设置时间
var oDate=new Date();
oDate.setFullYear(年,月,日)
oDate.setHours(时,分,秒,毫秒)
//时间戳
var time=oDate.getTime();

封闭空间

解决变量名冲突;解决了i的问题;(循环里加事件,事件里的i不好使;循环里加定时器,i也不好使)

eg:

 (function(a){
        alert(a);
    })(12);

设置样式:

1)用with语句:

with(oBox.style){
     width='400px',
     height='400px',
     background='red'
}

2)cssText:批量设置样式

oBox.style.cssText='width:400px; height:400px; background:red';

3)setStyle封装函数:

function setStyle(obj,name,value){
    obj.style[name]=value;
}

####字符串 1,str.charAt(下标) 获取字符串中的某一项 2,str.indexOf(‘小字符串’) 获取某个小字符串在字符串中出现的位置 1)从左往右开始找,找到一个就不继续往下找了 2)区分大小写 3)如果没有找到,就返回-1 eg:

//获取浏览器信息,通过indexOf判断里面有没有MSIE 10.0,如果等于-1,代表没有
if(window.navigator.userAgent.indexOf('MSIE 10.0')!=-1){
    alert('ie10');
}else{
    alert('不是ie10');
}

3,str.lastIndexOf() 1)从右往左找 2)区分大小写 3)如果没找到就返回-1 4,str.toLowerCase()转小写 5,str.toUpperCase()转大写` 6,str.substring(起始位置下标,结束位置下标) 截取字符串 (不包括结束位置) 7,str.startsWith(小字符串) 8,str.endsWith(小字符串 ) 9,str.split(切割方式)切割字符串,把字符串转化成数组 数组转字符串arr.join(切割方式) #####字符串比较: 1,字符串数字 ​ a)两个都是数字字符串类型,一位一位进行比较 ​ b)其中有一个是数字类型,会做隐式类型转化,转化成数字进行比较 2,单词 字典序 3,汉字没规律 ​ unicode

数组:

创建数组:

var arr=[]; var arr = new Array(); #####数组函数: arr.push() 往数组后面添东西,会返回新的数组的长度 arr.unshift() 往数组前面添东西,会返回新的数组的长度 arr.pop() 从数组后面删除,会返回被删掉的数据 arr.shift() 从前面删除,会返回被删掉的数据 arr.splice(开始位置,删除长度,元素1,元素2) arr.reverse()翻转 arr.sort() 排序 arr1.concat(arr2) 数组合并 arr.join()将数组转化成字符串

####数学方法: Math.random()随机数0-1,不包括1 Math.ceil()向上取整 Math.floor()向下取整 Math.round()四舍五入 Math.abs()绝对值 Math.max()取最大值 Math.min()取最小值 Math.sqrt()开平方 Math.pow(n,m)n的m次方

END

読んでくれてありがとう~