第3章 函数
1.编写一个将十六进制值转换为颜色的函数,以蓝色为例,#0000FF应被表示成rgb(0,0,255)的形式。然后将函数命名为getRGB(),并用一下代码进行的是。提示:可以将字符串视为数组,这个数组的元素为字符。
var a= getRGB(“#00FF00”);
a;
输出rgb(0,255,0)。
function getRGB(colorStr){
return "rgb("+parseInt(colorStr[1]+colorStr[2],16)+","+parseInt(colorStr[3]+colorStr[4],16)+","+parseInt(colorStr[5]+colorStr[6],16)+")"
}
有兴趣的可以自己加一下合法值判断,和#ccc这种值的转换,由于我比较懒,我就不写了。。。
2.如果在控制台执行一下各行,分别输出什么内容?
parseInt(1e1);
//10
parseInt(“1e1”);
//1
parseFloat(“1e1);
//10 (居然还有这种区别,神经病)
isFinite(0/10);
//true
isFinite(20/0);
//false
isNaN(parseInt(NaN));
//true
3.下面代码中,alert()弹出的内容是什么?
var a=1;
function f(){
function n(){
alert(a);
}
var a=2;
n();
}
f();
答:弹出的是2。
4.一下所有示例都会弹出”Boo!”警告框,您能分别解释其中的原因吗?
4.1
var f=alert;
eval("f('Boo!')");
4.2
var e;
var f=alert;
eval("e=f")("Boo!");
4.3
(function(){
return alert;
}()("Boo!"));