JavaScript进阶篇QA总结

Q1:常用的运算符有哪些?他们的优先级是怎样的?
A1:
1.算术运算符:加(+)、减(-)、乘(×)、除(÷),自加一(++),自减一(--);
2.比较运算符:大于(>)、小于(<)、大于等于(>=)、小于等于(<=);
3.逻辑运算符:与(&&)、或(||)、非(!);
优先级为:算术操作符 > 比较操作符 > 逻辑操作符 > "="赋值符号;

Q2:关于数组有哪些基本知识?
A2:
1.创建数组的方法:

1 var arr1 = new Array(10); //通过调用Array()方法创建一个大小为10的数组,再给数组元素赋值;
2 arr1[0] = 0;
3 arr1[1] = 1;
4 
5 var arr2 = [0,1,2,3,4,5]; //通过直接赋值的方法创建一个数组;

2.数组的常用属性和方法:

1 var arr = new Array(10);
2 document.write(arr.length); //输出数组长度

3.二维数组:将一维数组作为数组元素;


Q3:分支判断语句的语法格式?
A3:
1.两个分支选一个

if(exp)
    {...}
else
    {...}

2.多个分支选一个

if(exp1)
    {...}
else if(exp2)
    {...}
else if(exp3)
    {...}
else{...}

3.多个分支选一个或多个

switch(x)
{
case a:exp1;break; //如果x=a,则执行exp1,有break,后面分支不执行
case b:exp2;       //如果x=b,则执行exp2,没有break,后面分支继续执行
case c:exp3;break;
default:exp4;      //如果前面的都没有符合,则执行默认项exp4;
}


Q4:几种循环方式?
A4:
1.for循环

for(i = 0;i<10;i++)
{
    ...
}

2.while循环

while(exp){ //当条件满足exp时执行
...
}

3.do...while循环

do
{
...
}while(exp); //先执行一次,再判断是否满足exp,满足则继续循环,不满足则退出循环

附送:循环中常用的两个语句:
    continue:跳过本次循环,进行下一次循环;
    break:跳出当前循环;
    


Q5:函数(function())的基本知识?
A5:
1.函数:执行特定功能的代码块;
2.函数的要素:关键字、函数名、入参、代码块、出参;
举个栗子:

1 function lizi(x,y)
2 {
3     return x+y;  
4 }

【注释】这是一个函数,功能是将两个数相加,并返回这个和。
        其中:function 是定义函数的关键字,为了告诉你这是一台机器;
              lizi 是函数名,即这个功能块的标签,告诉你这台机器的名字;
              x、y是函数的入参,是加工的原料;
              return 后面的东西是函数的出参,是加工的成品;

3.几种调用函数的方法:
    1)在JS中直接调用。因为浏览器加载页面时会从上到下执行JS代码,所以读到调用的那一行时即执行了这个函数;
    【栗子】

1     function writting()  //定义一个函数
2     {
3         document.write("I love writting!");
4     }
5     writting(); //JS中直接调用上面的函数,当读到这一行时即执行了这个函数;

    2)通过事件调用函数。通过点击事件、鼠标悬浮事件等来触发函数的执行:
    【栗子】
 

   <input type="button" onclick="writting()" />    

    3)通过在其他函数中被调用。一个函数可以条用其他函数作为自己的方法体的一部分,当这个函数执行时,被调用的方法就会执行。
    【栗子】
  

1  function habit(){
2         alert("我的爱好是:");
3         writting();   //当habit函数被调用的时候,就会执行writting,至于habit如何被调用,可以参照上述两种方法。
4     }

    Q6:有哪些事件?
    A6:
    onclick:点击事件
    onfocus:聚焦事件
    onblur:失焦事件
    onload:加载事件
    onchange:文本框内容改变事件
    onmouseover:鼠标经过事件
    onmouseout:鼠标移开事件
    onselect:内容选中事件
    onunload:卸载事件
    
    Q7:JS常用内置对象及其方法有哪些?
    A7:
    1.Date 日期对象

 1 var date = new Date(); //创建一个日期对象,值为当前系统日期
 2     var date = new Date("2012","10","1"); // 创建一个日期对象,初始化值为2012年10月1日
 3     date.setFullYear(2016); //设值年
 4     date.getFullYear();     //获取年
 5     date.setMonth(0);       //设值月份(0~11代表1月~11月)
 6     date.getMonth();        //获取月份
 7     date.setDate();         //设值日
 8     date.getDate();         //获取日
 9     date.setHours();        //设值时
10     date.getHours();        //获取时
11     date.setMinutes();      //设值分
12     date.getMinutes();      //获取分
13     date.setSeconds();      //设值秒
14     date.getSeconds();      //获取秒
15     date.setTime();         //给date赋值(以毫秒为单位)
16     date.getTime();         //获取date值的毫秒数(1970年1月1日 0时0分0秒算起)
17     date.getDay();          //获取星期(0~6分别表示周日~周六)

    2.Sting 字符串对象
   

 1 var str = "I love JavaScript!"; //创建一个字符串对象str,并给他赋初值为"I love JavaScript";
 2     str.length 属性,获取字符串长度
 3     str.toUpperCase(); //将str变成全大写
 4     str.toLowerCase(); //将str变成全小写
 5     str.indexOf("a");  //获取str中第一个a字母的下标
 6     str.charAt(0);     //获取str中下标为0的字符
 7     str.split(",");    //将str通过逗号分隔成数组
 8     str.split(",",2);  //将str通过逗号分隔成数组,且只保留前两个数组元素
 9     str.substring(2);  //截取字符串(从下标为2的字符开始,包含下标为2的字母,下标从0开始)
10     str.substring(2,5); //截取字符串(截取下标为[2,5)的字符串,下标从0开始)
11     str.substr(2);        //提取字符串(从下标为2开始截取,知道最后)
12     str.substr(2,6);    //提取字符串(提取下标从2开始,长度为6的字符串)

    3.Math 数学对象

1 Math.PI;         //获取圆周率
2     Math.abs(-6);    //获取绝对值
3     Math.ceil(6.5);  //向上取整(ceil:天花板)
4     Math.floor(6.5); //向下取整(floor:地板)
5     Math.round(6.5); //四舍五入
6     Math.random();    //获取(0,1)区间内的随机数

    4.Array 数组对象

 1 var arr1 = new Array(); //定义了一个空数组
 2     var arr2 = new Array(10); //定义了一个大小为10的数组
 3     var arr3 = [0,1,2,3,4,5,6]; //定义了一个数组,并直接初始化(赋初值)
 4     arr1.concat(3,4,5,6);          //连接:向arr1中添加数组元素
 5     var arr4 = arr1.concat(arr2);             //连接:将arr2的元素连接到arr1后面,作为新的数组arr4返回
 6     var str = arr3.join();                //jion方法是一个工具方法,用逗号将arr3中数组元素都连接起来成一个字符串并返回
 7     var str = arr3.join("&");   //用&符号连接每个数组元素
 8     var arr5 = arr3.reverse();  //数组倒序
 9     var arr6 = arr3.slice(3);   //截取数组:截取下标从3开始(包含3)的数组作为新数组
10     var arr7 = arr3.slice(3,7); //截取数组:截取下标范围为[3,7) 的数组作为新数组
11     var arr8 = arr3.sort();     //对数组arr3进行排序,将排序后的数组作为新数组返回

    Q8:window对象有哪些常用方法?
    A8:
    1.定时器

1     setTimeout(function,delay);  //定时执行function,仅一次
2     setInterval(function,delay);  //定时执行function,没每隔delay时长执行一次
3     clearTimeout(id);                //清除定时器,id为对应setTimeout()的返回值
4     clearInterval(id);                //清除定时器,id为对应setInterval()的返回值
5     location.href;                     //获取当前URL
6     location.href="http://www.baidu.com/";   //设值当前地址为指定地址
7     location.reload();              //重新加载当前页(刷新)
8     location.replace("http://www.baidu.com/"); //将当前页替换成指定地址

    Q9:JS如何操作HTML的DOM节点?
    A9:
    1.获取节点的常用方法有:

1     var obj = document.getElementById("abc"); //获取HTML标签中id属性值为"abc"的DOM节点,返回一个DOM对象
2     var objs = document.getElementsByName("abc"); //获取HTML标签中所有name属性值为"abc"的DOM节点,返回数组
3     var objs = document.getElementsByTagName("div"); //获取HTML中所有div标签的DOM节点,返回数组

    2.DOM对象的一些属性和方法:

 1     obj.getAttribute("name"); //获取DOM对象的name属性的值
 2     obj.setAttribute("name","Hello"); //设值DOM对象的name属性的值为"Hello"
 3     var nodes = obj.childNodes;  //获取obj节点的所有子节点对象,返回数组
 4     var node = obj.firstChild;   //获取obj节点的第一个子节点对象
 5     var node = obj.lastChild;    //获取obj节点的最后一个节点对象
 6     var node = obj.parentNode;   //获取obj节点的父节点
 7     var node = document.createElement("div");  //创建一个div标签对象
 8     var textnode = document.createTextNode(data); //创建文本节点
 9     appendChild(newnode);        //给指定DOM对象添加一个子元素
10     insertBefore(newnode,node);  //在node节点前面插入一个新的节点newnode
11     nodeObject.removeChild(node);//将某个子节点移除
12     nodeObject.replaceChild(newnode,oldnode); //用newnode替换oldnode节点


    
    
    
    
    
    
    
    
    
    
    

              


面朝大海,春暖花开。
原文地址:https://www.cnblogs.com/HapLe0/p/6214788.html