-
(function(){
return typeof arguments;
})();
这个考察的是arguments这个对象
-
var f = function g(){ return 23; };
typeof g();
这个考察的是函数表达式
-
var y = 1, x = y = typeof x;
x;
这个考察的是变量声明和运算顺序
-
(function(x){
delete x;
return x;
})(1);
这个考察的是delete运算符
-
(function f(f){
return typeof f();
})(function(){ return 1; });
这个考察的是函数表达式
-
var foo = {
bar: function() { return this.baz; },
baz: 1
};
(function(){
return typeof arguments[0]();
})(foo.bar);
这个考察的是对象以及作用域
-
var foo = {
bar: function(){ return this.baz; },
baz: 1
}
typeof (f = foo.bar)();
这个考察的是对象以及作用域
-
var f = (function f(){ return "1"; }, function g(){ return 2; })();
typeof f;
这个考察的是函数表达式
-
var x = 1;
if (function f(){}) {
x += typeof f;
}
x;
这个考察的是变量操作
-
var x = [typeof x, typeof y][1];
typeof typeof x;
这个考察的是typeof的使用
-
(function(foo){
return typeof foo.bar;
})({ foo: { bar: 1 } });
这个考察的是JSON对象
-
(function f(){
function f(){ return 1; }
return f();
function f(){ return 2; }
})();
这个考察的是函数声明
-
function f(){ return f; }
new f() instanceof f;
这个考察的是类和对象
-
with (function(x, undefined){}) length;
这个考察的是with
-
var num1 = 5,
num2 = 10,
result = num1+++num2;
这个考察的运算符的优先级
-
var x = 5,
o = {
x: 10,
doIt: function doIt(){
var x = 20;
setTimeout(function(){
alert(this.x);
}, 10);
}
};
o.doIt();
这个考察的Javascript的作用域以及setTimeout
-
var num1 = "10",
num2 = "9";
num1 < num2;
+num1 < num2;
num1 + num2;
+num1 + num2;
这个考察的是字符串和数字的比较和转换
-
var message = "Hello world!";
message.substring(1, 4);
message.substr(1,4);
这个考察的是字符串的两个截取方法
-
var o = {
x: 8,
valueOf: function(){
return this.x + 2;
},
toString: function(){
return this.x.toString();
}
},
result = o < "9";
alert(o);
result;
这个考察的是对象的两个内置方法
-
if (!("a" in window)) {
var a = 1;
}
alert(a);
这个考察的是对象以及变量的声明
-
var a = 1,
b = function a(x) {
x && a(--x);
};
alert(a);
这个考察的是函数声明和变量声明
-
function a(x) {
return x * 2;
}
var a;
alert(a);
这个考察的是函数声明和变量声明
-
function b(x, y, a) {
arguments[2] = 10;
alert(a);
}
b(1, 2, 3);
这个考察的是arguments对象
-
function a() {
alert(this);
}
a.call(null);
这个考察的是this和call
-
(function(){
a = function(){ reuturn 1; };
function a(){return 2;}
var a;
return a;
})()();
这个考察的也是函数声明和变量声明
-
parseInt('06');
parseInt('08');
这个考察的是parseInt
-
100['toString']['length']
这个考察的是toString
-
var a = (1,5 - 1) * 2
这个考察的是逗号运算符