Q1:常用的運算符有哪些?他們的優先順序是怎樣的?A1:1.算術運算符:加(+)、減(-)、乘(×)、除(÷),自加一(++),自減一(--);2.比較運算符:大於(>)、小於(<)、大於等於(>=)、小於等於(<=);3.邏輯運算符:與(&&)、或(||)、非(!);優先順序為:算術操作符 > 比較操 ...
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節點