题目1
执行以下代码,其实现的效果为()
< div>
< input type= "button" id = "button1" value= "1" onclick= "moveBtn(this);" >
< input type= "button" id = "button2" value= "2" / >
< / div>
< script type= "text/javascript" >
function moveBtn ( obj ) {
var clone = obj. cloneNode ( true ) ;
var parent = obj. parentNode;
parent. appendChild ( clone) ;
parent. removeChild ( obj) ;
}
< / script>
A : 鼠标单击button1后将button1链接到button2的后面
B : 鼠标单击button1后将button1移动到button2的后面
C : 鼠标单击button1后将button2移动到button1的后面
D : 鼠标单击button1后将button2链接到button1的后面
答案
解析
**Node.cloneNode([deep])
**方法返回调用该方法的节点的一个副本.
Node: 将要被克隆的节点 deep: 是否采用深度克隆,如果为true,则该节点的所有后代节点也都会被克隆,如果为false,则只克隆该节点本身. 所以obj.cloneNode(true);深度克隆一个自己的节点,克隆之后删除原体后在移动克隆体到button1的后面
题目2
假设val已经声明, 可定义为任何值。则下面js代码有可能输出的结果为 :
console. log ( 'Value is ' + ( val != '0' ) ? 'define' : 'undefine' ) ;
A : Value is define
B : Value is undefine
C : define
D : undefine
E : Value is define 或者 Value isundefine
D : define 或者 undefine
E : 其他选项都有可能
答案
解析
算术运算符优先级大于三元运算符,所以先计算 'Value is ’ + (val != ‘0’) 后进行三元运算,但是这个计算结果不管怎么样都会为真(因为在js当中,除了 “” null undefined NaN false 0 这六个转化为布尔值为假,其他均为真,空数组,空对象转化为布尔值也是真!)所以这个三元运算符结果永远为 ‘define’ JavaScript当中运算符优先级文档
题目3
已知数组arr=[1,69,4,6,8,10],对数组进行升序排列,下列选项中,不符合要求的是()
A :
for ( var i = 0 ; i< arr. length- 1 ; i++ ) {
for ( var j = 0 ; j < arr. length- 1 - i; j++ ) {
if ( arr[ j] > arr[ j+ 1 ] ) {
var temp = arr[ j] ;
arr[ j] = arr[ j+ 1 ] ;
arr[ j+ 1 ] = temp;
}
}
}
console. log ( arr) ;
B :
var minIndex;
var temp;
for ( let i = 1 ; i < arr. length; i++ ) {
minIndex = i - 1 ;
for ( let j = i; j < arr. length; j++ ) {
if ( arr[ j] < arr[ minIndex] ) minIndex = j;
}
if ( minIndex != i- 1 ) {
temp = arr[ i- 1 ] ;
arr[ i- 1 ] = arr[ minIndex] ;
arr[ minIndex] = temp;
}
}
console. log ( arr) ;
C :
arr. sort ( ( a, b ) => b- a) ;
console. log ( arr) ;
D :
for ( let i = 1 ; i < arr. length; i ++ ) {
for ( let j = i - 1 ; j>= 0 && arr[ j] > arr[ j+ 1 ] ; j -- ) {
let temp = arr[ j] ;
arr[ j] = arr[ j+ 1 ] ;
arr[ j+ 1 ] = temp;
}
}
console. log ( arr) ;
答案
解析
sort当中arr.sort( ( a , b ) ) => b - a ) ;为降序, arr.sort( ( a , b ) ) => a-b ) 为升序 A是冒泡排序 B是选择排序 D是插入排序