js 基础题型

  • 1
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;
复制代码
  • 2
(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
复制代码
  • 3
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
复制代码
  • 4
var foo = {
    bar: function(){ return this.baz; },
    baz: 1
  }
  typeof (f = foo.bar)();//undefined,this指向window
复制代码
  • 5
var f = (
function f(){ return "1"; }, 
function g(){ return 2; })();
typeof f;//"number"...f输出2
复制代码
  • 6
var x = 1;
  if (function f(){}) {
    x += typeof f;
  }
  x;//"1undefined",先是1,x=1,而后f不存在undefined
复制代码
  • 7
(function(foo){
    return typeof foo.bar;
  })({ foo: { bar: 1 } }); //undefined ,foo = > {foo:{bar:1}}没有bar属性
复制代码
  • 8
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
复制代码
  • 9
function fn(a) {
  console.log(a); 
  var a = 2;
  function a() {}
  console.log(a); 
}

fn(1);//function a(){} 2,函数先于变量
复制代码
  • 10
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
复制代码
  • 11
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

相关文章
相关标签/搜索