`
yumo12
  • 浏览: 17882 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

js一起学07:js基础知识总结

    博客分类:
  • js
阅读更多
一、理论知识总结
1. 什么是js:就是修改样式
2. 事件
onclick鼠标点击事件  onload加载事件  onmouseover---onmouseout鼠标移入移出事件    onchange更改事件、改变事件   onmousedown---onmouseup鼠标按下抬起事件
3. 获取元素的方式
(1)getElementById(id); ---通过id获取一个元素
(2)getElementsByTagName(标签名);---通过标签名获取一组元素
(3)getElementsByClassName(类名)---通过class获取一组元素(不兼容,ie6-ie8)---getByClass
function getByClass(sName){
     var aEle = document.getElementsByTagName('*');
     var result = [];
     for(var i=0;i<aEle.length;i++){
          var aClass = aEle[i].className.split(' ');
          if(findInArr(aClass,sName)){
               result.push(aEle[i]);
          }
     }
 return result;
}
function findInArr(arr,name){
     for(var i=0;i<arr.length;i++){
          if(arr[i]==name){
               return true;
          }
     }
     return false;
}
4. 变量
(1)别名,把很长的东西简写。用变量的地方,就像用东西本身一样
(2)变量&&字符串:变量没有引号,字符串有引号
5. 函数
(1)为什么要写函数:方便重用,写一次,以后直接调用就i型那个。代码写在行间太乱
(2)函数名:随便取,只要不用保留关键字就行
(3)两个概念:定义----只是告诉系统有这么个东西,不会真正执行里面的代码。调用----真正执行函数中的代码,调用几次就执行几次
                           只定义不调用,函数不执行;只调用不定义,找不到函数,报错。
                           在哪儿定义不重要,重要的是在哪儿调用,用的时候是多少,就是多少
6. 判断
if(条件1){  语句1;
}else if(条件2){  语句2;
}else{  语句n;
}
如果只执行一句话,if可以不写大括号
7. a链接:<a href="javascript:;"></a>
8. javascript的几种类型      字符串  数字   布尔   undefined   object   function
9. 参数[ ]可以代替点,只要是js中出现点的地方,都可以用[ ]代替。
10. 数组
(1)[1,2,3,4,5];     new Array(1,2,3,4,5);    没有任何区别,第一个性能略高
(2)length:获取数组长度
(3)下标:获取某一个元素。下标从0开始
11. 循环
(1)什么是循环:重复执行一段代码。初始化、条件、自增、语句
(2)while(条件){执行的语句;}-----适合操作次数不固定的循环
(3)for(初始化; 条件; 自增){执行的语句;}----适合操作次数固定的循环
(4)for(var i in json){ //i---键    json[i]----值     适合用于json}
12. 定时器
(1)每隔一段时间执行一次:setInterval();----clearInterval();
(2)只执行一次:setTimeout();----clearTimeout();
13. Date对象
get...  set...   new Date();   
getTime();----获取的是格林威治时间--1970年1月1日0时0分0秒0毫秒开始到目前为止的毫秒数
var time=19563096473;
var s=parseInt(time/1000);
var d=parseInt(s/86400);
s%=86400;
var h=parseInt(s/3600);
s%=3600;
var m=parseInt(s/60);
s%=60;
d  h  m  s
14. 字符串常用方法
indexOf----lastIndexOf从...往...查找字符          substring 截取字符串      split 切分字符串       toUpperCase---toLowerCase转换成大/小写 
15. 数组的常用方法
push--pop    最后一位添加/删除           splice 增删改            reverse 反转         concat 链接
unshift---shift   第一位添加/删除          join 转字符串           sort 排序(sort(function(a,b){return a-b;}))
16. json   json和数组的区别:json没有length
17.Math
abs绝对值   sqrt开平方   pow--n次方    max/min--最大/小值    round--四舍五入   floor--向下取整    ceil--向上取整     random--随机数
18.浏览器判断: window.navigator.userAgent.indexOf('MSIE 6.0')!=-1;
二、笔试题
1. parseInt 转整数    parseFloat 转小数     Number 转数字,但是更严格。 
2. function getStyle(obj,name){
     if(obj.currentStyle){
          return obj.currentStyle[name];
     }else{
          return getComputedStyle(obj,false)[name];
     }
}
function rnd(n,m){
     return parseInt(n+Math.random()*(m-n));
}
3. 真:true 非零 非空字符串 非空对象
    假:false 0 ‘’ null NaN undefined
4. function getToDay(){
 var oDate = new Date();
 var Y = oDate.getFullYear();
 var M = oDate.getMonth()+1;
 var D = oDate.getDate();
 return M+'/'+D+'/'+Y;
}
5. showing test undefined
6. function a(){alert('a')} a undefined undefined
7. var oDate = new Date();
    oDate.setFullYear(setFullYear(),0,1);
    oDate.setMonth(0,1);
8. function sum(){
       var result = 0;
       for(var i=0;i<arguments.length;i++){
            result+=arguments[i];
       }
       return result;
  }
9. 假设有str
str.substring(str.lastIndexOf('.')+1);
10. 字符串转数组 split('切的方式')
      数组转字符串 join('链接的方式');
11. var str = "Welcome to ZhiNengShe!";
      vara s = str.substring(0,str.length-1);
      s.split(' ').reverse().join(' ');
12. if(window.navigator.userAgent.indexOf('MSIE 6.0')!=-1){   //是ie6}
13. 自定义属性
for(var i=0; i<aBtn.length; i++){
    aBtn[i].index=i;
    aBtn[i].onclick=function(){
         alert(this.index);
    }
}
14. 封闭空间
for(var i=0; i<aBtn.length; i++){
    (function(index){
     aBtn[i].onclick=function(){
   alert(index);
     }
 })(i);
}
12. arr.length=0;
     arr.splice(0,arr.length);
     arr.splice(0);
     循环pop、shift
     arr=[];
13. var oDate = new Date();
oDate.setDate(1);
oDate.getDay();
 
var oDate = new Date();
oDate.setMonth(oDate.getMonth+1,1);
oDate.setDate(0);
oDate.getDate();
 
14. var arr = str.split(' ');
var arr2=[];
for(var i=0;i<arr.length;i++){
     arr2.push(arr[i].charAt(0).toUpperCase()+arr[i].substring(1));
}
str = arr2.join(' ');
15. 九九乘法表
for(var i=1;i<=9;i++){
    for(var j=1;j<=i;j++){
          document.write(i+"*"+j+"="+i*j+" ");
     }
     document.write('<br>');
}
16. eval:把字符串转化成js能执行的东西
eval json转换成字符串的时候需要写成eval('('+str+")")
17. str="{a:1,b:2,c:8}"
18. 获取当前选中项的文字:oS.options[oS.selectedIndex].text;
删除第2个:oS.options.remove(1);
添加
var oP = new Option(value,text);
oS.options.add(oP);
 
[23,65,1,-100,66,33,43,93]
[93,65,1,-100,66,33,43,23]
[93,66,1,-100,65,33,43,23]
[93,66,65,-100,1,33,43,23]
[93,66,65,43,1,33,-100,23]
[93,66,65,43,33,1,-100,23]
[93,66,65,43,33,23,-100,1]
[93,66,65,43,33,23,1,-100]
[93,66,65,43,33,23,1,-100]
 
三、机试
1.taobao首页的轮播图。
2.联动选择
3.重构通过className获取元素
4.自定义的日期时间,要求有年月日时分秒,星期
5.计算器,:加减乘除取模。
6.qq资料框
7.打印出一个9行的直角三角形
8.打印出一个9行9列的方块
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics