1、如下代碼輸出結(jié)果是什么?
function test(){
var arr=[];
for(var i = 0;i < 10;i ++){
arr[i] = function () {
document.write(i+" ");}
}
return arr;
}
var myarr = test();
for(var j=0;j<10;j++){
myarr[j]();
}
//10 10 10 10 10 10 10 10 10 10
2、如下代碼輸出結(jié)果是什么?
function test(){
var arr=[];
for(var i = 0;i < 10;i ++){
(function (j){
arr[j] = function () {
document.write(j+" ");}
}(i))
}
return arr;
}
var myarr = test();
for(var j=0;j<10;j++){
myarr[j]();
}
//0 1 2 3 4 5 6 7 8 9
3、如下代碼輸出結(jié)果是什么?
var x=1;
if(function a(){}){
x+=typeof(a)
}
console.log(x);//1function
4、如下代碼輸出結(jié)果是什么?
var a = 5;
function test(){
a=0;
alert(a);
alert(this.a);
var a;
alert(a);
}
test();//0 5 0
new test();// 0 undefined 0
5、寫一個function typeof(target)區(qū)分原始值和引用值
function type(target){
var str ={
"[Object Array]" : 'Array',
"[Object Number]" : 'Number-Objiect',
"[Object String]" : 'String-Objiect',
"[Object Boolean]" : 'Boolean-Objiect',
"[object Object]" : 'Object-Objiect',
}
if(target === null){
return 'null';
}else if(typeof(target) == 'object'){
var cmp = Object.prototype.toString.call(target);
return str[cmp];
}else{
return typeof(target);
}
}
6、下面代碼的打印結(jié)果為?
var num = 123;
num.abc = 'abc' //new Number(num).abc = 'abc' --delete
console.log(num.abc);//undefined 再new Number(num).abc = 'abc' --delete
7、封裝一個insertAfter(),功能類似insertBefore()。
Element.prototype.insertAfter = function(targetNode,afterNode){
var beoreNode = afterNode.nextElementSibling;
if(beoreNode == null){
this.appendChild(targetNode);
}else{
this.insertBefore(targetNode,beoreNode);
}
}
8、將目標節(jié)點內(nèi)部的順序逆序。
eg:
<div> ? ? ? ? ? ? ? ?? ? ? ? ? ? ? ?改為:<div>
? ? <span></span>? ? ? ? ? ? ?? ? ? ? ? ? ?<b></b>
? ? <p></p>? ? ? ? ? ? ?? ? ? ? ? ? ?? ? ? ? ? ? <i></i>
? ? <i></i>? ? ? ? ? ? ?? ? ? ? ? ? ?? ? ? ? ? ? ? <p></p>
? ? <b></b>? ? ? ? ? ? ? ?? ? ? ? ? ? ? ?? ? ? ?<span></span>
</div> ? ? ? ? ? ? ? ?? ? ? ? ? ? ? ? ? ? ? ?</div>
Element.prototype.invertedChild = function(){
var child=this.children;
var len=child.length;
for(var i=len-2;i>=0;i--){
this.appendChild(child[i]);
}
return this;
}
