JS面试题及答案

一、JS闭包。

f = function() {return true;};

g = function() {return false;};

(function() {

if (g() && [] ==![]) {

f = functionf() {return false;};

function g() {return true;}

}

})();

alert(f()); // true or false ?

------------------------

答案:

(function() {

if (g() && [] == ![]) {

//应该看成if((g() && [] )== ![])

//因为g()是false后面那个&&[]就没起作用 整个都是false

//![]也是false 所以if成立 进入if块内

f = function f() {return false;};

//重新定义f

function g() {return true;}

//这句没用

}

})();

alert(f());

//false

二、截取字符串abcdefg的efg

<p id="text">abcdefg</p>
<script type="text/javascript">
var mytext=document.getElementByIdx_x_x_x("text");
var myvalue=mytext.innerHTML;
var jiequ=myvalue.substring(myvalue.length-3,myvalue.length);
alert(jiequ)
</script>

三、写出一下运算结果

alert(typeof(null)) // object

alert(typeof(undefined))// undefined

alert(typeof(NaN)) // number

alert(NaN==undefined) // false

alert(NaN==NaN) //false

var str="123abc";
alert(typeof(str++)) // number

alert(str) //string

四、写出函数DateDemo的返回结果,系统时间假定为今天

function DateDemo(){

var d, s="今天日期是:";

d = new Date();

s += d.getMonth() + "/";

s += d.getDate() + "/";

s += d.getYear();

return s;

}

结果:今天日期是:7/17/2010

五、写出程序运行的结果?

for(i=0, j=0; i<10, j<6; i++, j++){

k = i + j;

}

结果:10(小心陷阱)


var str= "aaaebbbcccddd";
str = str.replace(/(.)\1+/g,'$1')

alert(str)

2. 把字符串中所有单词的首字母都转换为大写
name = 'aaa bbb ccc'; uw=name.replace(/\b\w+\b/g, function(word){ return word.substring(0,1).toUpperCase()+word.substring(1);} );
alert(uw)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值