十一、請寫出下面輸出的值數組
Console.log(undefined || 1);//值 1 Console.log(null || NaN);//值 NaN Console.log(0 && 1);//值 0 Console.log(0 && 1 || 0);// 值 0
十二、如何垂直居中一個浮動元素?瀏覽器
// 方法一:已知元素的高寬 #div1{ background-color:#6699FF; width:200px; height:200px; position: absolute; //父元素須要相對定位top: 50%; left: 50%; margin-top:-100px ; //二分之一的height,width margin-left: -100px; } //方法二:未知元素的高寬 #div1{ width: 200px; height: 200px; background-color: #6699FF; margin:auto; position: absolute; left: 0; top: 0; right: 0; bottom: 0; }
1三、如何垂直居中一個 img?ide
#container //<img>的容器設置以下 { display:table-cell; text-align:center; vertical-align:middle; }
1四、如下 js 的運行結果是什麼,爲何?函數
var txt='hx'; function hello(){ var txt; var fn=function(){alert('hello')} function fn(){alert('world');} alert(txt);//undefined 局部變量,只是聲明,沒有賦值 fn();//hello 先進行聲明,後賦值,執行 fn=function(){alert('hello')} } hello();
1五、看下列代碼,將會輸出什麼?(變量聲明提高)this
var foo = 1; function(){ console.log(foo); var foo = 2; console.log(foo); } 答案:輸出 undefined 和 2。上面代碼至關於: var foo = 1; function(){ var foo; console.log(foo); //undefined foo = 2; console.log(foo); // 2; } 函數聲明與變量聲明會被JavaScript 引擎隱式地提高到當前做用域的頂部 可是隻提高名稱不會提高賦值部分。
1六、把兩個數組合並,並刪除第二個元素。prototype
var array1 = ['a','b','c']; var bArray = ['d','e','f']; var cArray = array1.concat(bArray); cArray.splice(1,1);
1七、寫一個 function,清除字符串先後的空格。(兼容全部瀏覽器)code
//使用自帶接口trim(),考慮兼容性: if (!String.prototype.trim) { String.prototype.trim = function() { return this.replace(/^\s+/, "").replace(/\s+$/,""); } } // test the function var str = " \t\n test string ".trim(); alert(str == "test string"); // alerts "true"
1八、Javascript 中, 如下哪條語句必定會產生運行錯誤?答案( B )接口
A、 var _變量=NaN;B、var 0bj = [];C、var obj = //; D、var obj = {};
1九、如下兩個變量 a 和 b,a+b 的哪一個結果是 NaN? 答案( C )
A、var a=undefind; b=NaN
B、var a=‘123’; b=NaN
C、var a =undefined , b =NaN
D、var a=NaN , b='undefined'
20、var a=10; b=20; c=3; ++b+c+a++ 如下哪一個結果是正確的答案( A )
A、 34 B、35 C、36 D、37ip