9.1_the end

選擇題

1.考察正則,書寫一個6位數的郵箱javascript

a var mail=/\d{6}/;

b var mail=new RegExp("/\d{6}/");

分析:對a,應該要添加開頭和結尾的提示符。即:/^\d{6}$/css

2.關於Document對象html

Document 對象是 Window 對象的一部分,可經過 window.document 屬性對其進行訪問。
java

3.isNaN("abc")返回true算法

填空題

1.考察Number類型:express

var a=1.6;
alert(parseInt(a)+parseFloat(a));

答案是:2.6
分析
parseInt()方法首先查看位置0處的 字符,判斷它是不是個有效數字;若是不是,該方法將返回NaN,再也不繼續執行其餘操做。但若是該字符是有效數字,該方法將查看位置1處的字符,進行一樣的 測試。這一過程將持續到發現非有效數字的字符爲止,此時parseInt()將把該字符以前的字符串轉換成數字。
例如:若是要把字符串 "1234blue "轉換成整數,那麼parseInt()將返回1234,由於當它檢測到字符b時,就會中止檢測過程。parseInt()方法還有基模式,能夠把二進制、八進制、十六進制或其餘任何進制的字符串轉換成整數數組

parseFloat:從位置0開始查看每一個字符,直到找到第一個非有效的字符爲止,而後把該字 符以前的字符串轉換成數字,()方法會把這個小數點以前的字符串轉換成數字。這意味着字符串 "22.34.5 "將被解析成22.34瀏覽器

eg:parseFloat小數後面會精確到16位dom

var a=1.6666666666666666666666666666666666666666666666666666;
alert(parseInt(a));
alert(parseFloat(a));
alert(parseInt(a)+parseFloat(a));

答案以下
函數

2.考察函數參數

function a(a,b,c){
  arguments[2]=11;
  alert(c);
 }

答案是:11

3.考察字符串和數字的相互轉化

var a="5";
var b=10;
alert(+a+b);//+a,會把字符串轉化成數字

答案以下

4.獲取value

<input id="v1"type="text" value="1+2*3">
<input id="v2" type="text" value="2+3*4">
var v1=document.getElementById("v1");
  var v1=document.getElementById("v2");
  alert(v1.value+v2.value);

答案以下

5.call的用法

function a(){
alert(this)
 }
a.call("array");

答案以下:

分析:

function add(a, b) {
alert(a + b);
}
function sub(a, b) {
alert(a - b);
}
add.call(sub, 3, 1);

這個例子中的意思就是用 add 來替換 sub,add.call(sub,3,1) == add(3,1) ,因此運行結果爲:alert(4); // 注意:js 中的函數實際上是對象,函數名是對 Function 對象的引用。

簡答題:innerHTML和document.write的區別

document.write是直接寫入到頁面的內容流,若是在寫以前沒有調用document.open,瀏覽器會自動調用open。每次寫完關閉以後從新調用該函數,會致使頁面被重寫。innerHTML是dom元素的一個屬性,表明該元素的html內容。你能夠精確到某一個具體的元素來進行更改。若是想修改document的內容,則須要修改document.documentElement.innerElement。innerHTML不少狀況下都優於document.write,緣由是其容許更精確的控制要刷新頁面的那一個部分。

算法題:快速排序

function quickSort(arr) {
        if (arr.length <= 1) { return arr; }//檢查數組的元素個數,若是小於等於1,就返回
        //選擇"基準"(pivot),並將其與原數組分離,再定義兩個空數組,用來存放一左一右的兩個子集。
        var pivotIndex = Math.floor(arr.length / 2);//floor:向下取整
        var pivot = arr.splice(pivotIndex, 1)[0];//arr刪除並返回"基準"(pivot)
        var left = [];
        var right = [];
        for (var i = 0; i < arr.length; i++){//遍歷數組
            if (arr[i] < pivot) {//小於"基準"的元素放入左邊的子集
                left.push(arr[i]);
            } else {            //大於基準的元素放入右邊的子集
                right.push(arr[i]);
            }
        }
        return quickSort(left).concat(pivot, quickSort(right));//遞歸不斷重複這個過程,a.contact(b)表示把數組b添加到數組a的末尾
    }

應用題

1.css方面:寫一個新聞列表的實(ul>li),每一條包括新聞標題和日期,要求列表寬度爲300px,標題最大寬度爲230px,一行顯示,高度20px

1)inline-block問題

2)省略號

3)注意最大寬度的兼容性(IE6支持max-width/height與min-width/height(完美解決方案)

1.關於最大寬度
.box { 
max-width:1000px; 
_width:expression((document.documentElement.clientWidth||document.body.clientWidth)<1000?"1000px":""); 
overflow:hidden; 
}
2.關於最小寬度
.box { 
min-width:1000px; 
_width:expression((document.documentElement.clientWidth||document.body.clientWidth)>1000?"1000px":""); 
}
3.關於最小高度:
.box { 
min-height:1000px; 
_height:expression((document.documentElement.clientHeight||document.body.clientHeight)>1000?"1000px":""); 
}
4.關於最大高度:
.box{ 
max-height:1000px; 
_height:expression((document.documentElement.clientHeight||document.body.clientHeight)<1000?"1000px":""); 
overflow:hidden; 
}

2.js方面:有3張規格相同的圖片,當用戶訪問網站時,會有1%的機率看到這三張圖片中隨機的一張。

Math.random( )會產生一個[0,1)之間的隨機數
Math.floor(Math.random( ))能夠獲取你想要的一個範圍內的整數

該題思路是:

var images = [1,2,3];
var random = Math.floor(Math.random() *  300)

if(random === 1){
 // 顯示第一張
}

if(random ===2){
 // 顯示第二張
}

if(random === 3){
 // 顯示第三張
}

三張圖片,那麼每一張出現的機率是1/300
相關文章
相關標籤/搜索