发现一组非常好的js函数、原型和对象的题目

Even713 2008-10-13 02:40:04
发现一组非常好的js函数、原型和对象的题目,在原帖的下面有题目的分析,正在学习中

函数

第一题
var i=5;
function fo()
{
var i=4;
var fi=new Function("alert(i);");
fi();
}
fo();

第二题
function f1()
{
i=20;
eval("var i");
}
alert(i);
function f1()
{
i=10;
var i;
}
alert(i);

第三题
function f1()
{
alert("1");
}
function f2()
{
alert("2");
}
var f3=f1.call;
f3.call(f2);

第四题
function fo()
{
var i=0;
return function(n)
{
return n+i++;
}
}
fo()(15);
alert(fo()(20));

第五题
function f1(n)
{
if(n==0)return;
else return f2(--n);
}
function f2(n)
{
alert(f1.caller);
return f1(n);
}
f1(2);

第六题
alert(typeof Function.prototype);
alert(Object.prototype instanceof Function);
alert(Function.prototype instanceof Function);

原型和对象

第一题
function cls1()
{
this.a=new Array;
}
function cls2()
{
}
cls2.prototype=new cls1;
var x=new cls2;
var y=new cls2;
x.a.push(1,2,3);
alert(y.a);

第二题
function cls1()
{
this.a=1;
}
function cls2()
{
}
var x=new cls2;
cls2.prototype=new cls1;
var y=new cls2;
alert(x.a);
alert(y.a);

第三题
function cls1()
{
this.a=1;
}
function cls2()
{
}
var x=new cls2;
cls2.prototype.a=1;
var y=new cls2;
alert(x.a);
alert(y.a);

第四题
function cls1()
{
this.a=1;
}
function cls2()
{
}
var x=new cls2;
cls2.prototype.a=1;
var y=new cls2;
alert(x.a);
alert(y.a);

第五题
String.prototype.self=function()
{
return this;
}
var s="s";
alert("s".self()=="s")
alert(s.self()==s)
alert("s"==="s")
alert("s".self()=="s".self())
alert(s.self()==s.self())
...全文
118 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
Even713 2008-10-13
  • 打赏
  • 举报
回复
http://www.diybl.com/course/1_web/javascript/jsjs/20071021/78631.html
foolbirdflyfirst 2008-10-13
  • 打赏
  • 举报
回复
好东西,顶.
原贴在哪里?
cloudgamer 2008-10-13
  • 打赏
  • 举报
回复
o

87,910

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧