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节点