var y = 1, x = y = typeof x;
x;
复制代码
var y = 1, x = y = typeof x;
x;//undefined
var y;
var x;
typeof x = undefined;
y = 1;
y = undefined;
x = undefined;
复制代码
(function f(f){
return typeof f();
})(function(){ return 1; });
复制代码
(function f(f){//f=>function(){ return 1; }
return typeof f(); //执行f() return 1
})(function(){ return 1; });
//number
(function f(f){
return typeof f;
})(function(){ return 1; });
//function
复制代码
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
};
(function(){
return typeof arguments[0]();//此题原文解释为this指向了window,但我在全局设置了baz的值返回依然是undefined,望大佬能给完美的解释。
})(foo.bar);
//undefined
复制代码
var foo = {
bar: function(){ return this.baz; },
baz: 1
}
typeof (f = foo.bar)();//undefined,this指向window
复制代码
var f = (
function f(){ return "1"; },
function g(){ return 2; })();
typeof f;//"number"...f输出2
复制代码
var x = 1;
if (function f(){}) {
x += typeof f;
}
x;//"1undefined",先是1,x=1,而后f不存在undefined
复制代码
(function(foo){
return typeof foo.bar;
})({ foo: { bar: 1 } }); //undefined ,foo = > {foo:{bar:1}}没有bar属性
复制代码
var length = 10;
function fn() {
console.log(this.length);
}
var obj = {
length: 5,
method: function(fn) {
fn();
arguments[0]();
}
};
obj.method(fn, 1); //10 2
复制代码
function fn(a) {
console.log(a);
var a = 2;
function a() {}
console.log(a);
}
fn(1);//function a(){} 2,函数先于变量
复制代码
var f = true;
if (f === true) {
var a = 10;
}
function fn() {
var b = 20;
c = 30;
}
fn();
console.log(a);
console.log(b);
console.log(c); //10 报错 30
复制代码
var a = 10;
a.pro = 10;
console.log(a.pro + a);//NaN
var s = 'hello';
s.pro = 'world';
console.log(s.pro + s);//undefinedhello
复制代码
一些问基础答题segmentfault