1.
(function(){
return typeof arguments;
})();
-
“object”
-
“array”
-
“arguments”
-
“undefined”
2.
var f = function g(){ return 23; };
typeof g();
-
“number”
-
“undefined”
-
“function”
-
Error
3.
(function(x){
delete x; return x;
})(1);
4.
var y = 1, x = y = typeof x;
x;
-
1
-
“number”
-
undefined
-
“undefined”
5.
(function f(f){
return typeof f();
})(function(){ return 1; });
-
“number”
-
“undefined”
-
“function”
-
Error
6.
var foo = {
bar: function() { return this.baz; },
baz: 1
};
(function(){
return typeof arguments[0]();
})(foo.bar);
-
“undefined”
-
“object”
-
“number”
-
“function”
7.
var foo = {
bar: function(){ return this.baz; },
baz: 1
}
typeof (f = foo.bar)();
-
“undefined”
-
“object”
-
“number”
-
“function”
8.
var f = (function f(){ return "1"; }, function g(){ return 2; })();
typeof f;
-
“string”
-
“number”
-
“function”
-
“undefined”
9.
var x = 1;
if (function f(){}) {
x += typeof f;
}
x;
-
1
-
“1function”
-
“1undefined”
-
NaN
10.
var x = [typeof x, typeof y][1];
typeof typeof x;
-
“number”
-
“string”
-
“undefined”
-
“object”
11.
(function(foo){
return typeof foo.bar;
})({ foo: { bar: 1 } });
-
“undefined”
-
“object”
-
“number”
-
Error
12.
(function f(){
function f(){ return 1; }
return f();
function f(){ return 2; }
})();
-
1
-
2
-
Error (e.g. “Too much recursion”)
-
undefined
13.
function f(){ return f; }
new f() instanceof f;
14.
with (function(x, undefined){}) length;
//-----------------------------------------------------------------------------------------------------------------------
答案
2,4,1,4,1,1,1,2,3,2,1,2,2,2
顺便写一下的理解 (个人理解 如有不对 请指正)
第一题
(function(){
return typeof arguments;
})();
函数里面的arguments引用的是Arguments对象
返回的自然是 object
第二题目
var f = function g(){ return 23; };
typeof g();
这题目应该有歧异 ff下不允许这么定义 答案自然是Error
如果是ie下 返回23 就是num了
至于firefox为什么不能这么定义 原因不明白
第三题
(function(x){
delete x;
return x;
})(1);
不明白
第四题
var y = 1, x = y = typeof x;
x;
typeof返回的是字符串 x 为没有定义 typeof x返回'undefined'
x就是'undefined'
第五题
(function f(f){
return typeof f();
})(function(){ return 1; });
f是一个函数 f()===1
typeof 1 自然是"number"
第六题
var foo = {
bar: function() { return this.baz; },
baz: 1
};
(function(){
return typeof arguments[0]();
})(foo.bar);
执行一个匿名函数 参数是foo.bar
可以看成这样
(function(){
return typeof arguments[0]();
})( function() { return this.baz; });
执行时就成了 直接执行这个函数 this指向了window
所以是undefined
这题有点迷惑人 ,其实只要知道 在函数执行的时候有没有对象引用就行了,如果没有就指向window
如
var a = "B"
var c ={
a : "A",
c : function(){alert(this.a)}
}
var b =c.c;
c.c(); //A c对象调用的c方法
b(); //B b引用的c.c c.c只是一个函数 可以看承是 b= function(){alert(this.a)} 然后只是直接执行一个函数 所以指向了window
第七题
var foo = {
bar: function(){ return this.baz; },
baz: 1
}
typeof (f = foo.bar)();
同第6题
第八题
var f = (function f(){ return "1"; }, function g(){ return 2; })();
typeof f;
逗号运算返回的是第最后一个
而这样写法本本身就是匿名函数的写法(fn)() Ps:如果里面的fn不是函数 会报告错误提示 fn不是函数
函数执行完了以后 f===2 typeof 2 自然是 'number'
第九题
var x = 1;
if (function f(){}) {
x += typeof f;
}
x;
不明白
第十题
var x = [typeof x, typeof y][1];
typeof typeof x
未定义的变量typeof后 都返回"undefined"
x = ["undefined","undefined"][1] 即 x= "undefined" px : var a=[1,2][0]====> x=0
其实x已经是字符串了 typeof x 返回就是"string" 在来一typeof "string" 自然还是 "string"
第十一题
(function(foo){
return typeof foo.bar;
})({ foo: { bar: 1 } });
参数是{ foo: { bar: 1 } }
即函数里面的foo === { foo: { bar: 1 }}
可见 foo只有一个 foo的属性所以 foo.bar是undefined
第十二题
(function f(){
function f(){ return 1; }
return f();
function f(){ return 2; }
})();
在函数里面有2个f函数
因为预编译的关系 后面的一个f覆盖了前面的一个f
所以 返回的是2 查查预编译做了什么就好理解了
第十三题
function f(){ return f; }
new f() instanceof f;
首先要知道new的过程即返回值
如果返回的是函数 new后还是返回的那个函数
如果是其他类型 , new后返回的是一个 obj
这里面的 f返回的是自己
自己又是由Function new出来的
所以是false
可以测试一下
function f(){ return f; }
alert(new f() instanceof Function); //true
function ff(){}
alert(new ff() instanceof ff )//true
第十四题
with (function(x, undefined){}) length;
函数的length属性只指参数的个数
with 语句 为一个或一组语句指定默认对象
后面的length 即是 function()function(x, undefined){}.length
可以测试一下 alert(function(x, undefined){}.length)
版权声明:本文为博主原创文章,未经博主允许不得转载。
分享到:
相关推荐
JavaScript上机实验题 涉及一些javascript的应用 试题也比较适中
javascript试题 附答案 适于初学者
Javascript考试题目选择题.doc
HTML+Javascript+CSS测试题
北大青鸟JavaScript&Jquery;内部测试机试题
北大青鸟5.0JavaScript内部测试题 里面包括题目和答案。。
JavaScript课堂习题答案JavaScript课堂习题答案JavaScript课堂习题答案JavaScript课堂习题答案JavaScript课堂习题答案JavaScript课堂习题答案JavaScript课堂习题答案JavaScript课堂习题答案JavaScript课堂习题答案...
JavaScript内部测试题1 喜欢的朋友可以下载额。
Accp6.0S2JavaScript阶段测试机试题+答案,希望对你有帮助!
javaScript 基础测试题,适用于在校大学生复习以及考试
javascript测试题.pdfjavascript测试题.pdfjavascript测试题.pdfjavascript测试题.pdfjavascript测试题.pdfjavascript测试题.pdf
资源名称:测试驱动的Javascript开发内容简介:本书是一本完整的、基于最佳实践的Javascript敏捷测试指南,同时又有着测试驱动开发方法(TDD)所带来的质量保证。领先一步的Javascript敏捷开发者...
javascript测试题,基础,文件,编程
是关于javascript的习题。希望对你们能有帮助
java面试题--橙红科技javascript新测试题
Javascript考试题目.doc
有两套javascript的练习题目,附有答案,可以帮助学习
Javascript考试题目选择题.docx