javascript面试题 30个最火热的面试题

1、documen.write和 innerHTML的区别
答案:
document.write只能重绘整个页面
innerHTML可以重绘页面的一部分

2、浏览器检测通过什么?
答案:
(1) navigator.userAgent
(2) 不同浏览器的特性,如addEventListener

3、JavaScript有哪几种数据类型?
答案:
简单,Number,Boolean,String,Null,Undefined
复合,Object,Array,Function

4、截取字符串“abcdefghi”的“fghi”
答案:
var myvalue=”abcdefghi”;
var jiequ=myvalue.substring(myvalue.length-4,myvalue.length);
alert(jiequ);

5、写出下面的运算结果
答案:
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);// NaN

6、问执行完毕后 x, y, z 的值分别是多少?
var x = 1, y = z = 0;
function add(n) {
n = n+1;
}
y = add(x);
function add(n) {
n = n + 3;
}
z = add(x);
答案:1、undefined、undefined

7、push()、pop()、shift()、unshift()分别是什么功能?
答案:
/*push 方法
将新元素添加到一个数组中,并返回数组的新长度值。*/
var a=[1,2,3,4];
a.push(5);
/*pop 方法
移除数组中的最后一个元素并返回该元素。*/
var a=[1,2,3,4];
a.pop();
/*shift 方法
移除数组中的第一个元素并返回该元素。*/
var a=[1,2];
alert(a.shift());
/*unshift 方法
将指定的元素插入数组开始位置并返回该数组。*/

8、如何阻止事件的冒泡?
答案:
//阻止冒泡的方法
function stopPP(e)
{
var evt = e|| window.event;
//IE用cancelBubble=true来阻止而FF下需要用stopPropagation方法
evt.stopPropagation ?evt.stopPropagation() : (evt.cancelBubble=true);
}

9、写出程序运行的结果?
for(var i=0, j=0; i<10, j<6; i++, j++){
k = i + j;
}
答案:10

10、编写一个方法 求一个字符串的字节长度
答案:
/*假设:

一个英文字符占用一个字节,一个中文字符占用两个字节*/

function getBytes(str){
var len = str.length,
bytes = len,
i = 0;
for(; i

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值