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
复制代码

一些问基础答题

转载于:https://juejin.im/post/5bd3c58cf265da0ace217b32

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值