JavaScript预解析、作用域题目记录

JavaScript预解析、作用域题目记录

写出以下题目执行的结果及过程分析

function fun ( n ) {
  console.log( n );
  var n = 456;
  console.log( n );
}
var n = 123;
fun( n );

在这里插入图片描述

function fun () {
  console.log( n );
  var n= 456;
  console.log( n );
}
var n = 123;
fun( n );

在这里插入图片描述

function fun () {
  console.log( n );
  n = 456;
  console.log( n );
}
var n= 123;
fun( n);
console.log( n );

在这里插入图片描述

var n = 123;
function f1 () {
  console.log( n ); //作用域为window
}
function f2 () {
  var n = 456;
  f1();
}
f2();
console.log( n );

在这里插入图片描述

var length = 100;
function f1() {
  console.log( this.length )
}
var obj = {
  x: 10,
  f2: function( f1 ){
    f1();  //无调用者  则为window
    arguments[0]();
  }
}
obj.f2( f1, 1 );  //arguments里面有2个参数

在这里插入图片描述
在这里插入图片描述

function f() {
    console.log( this.a )
}
var obj = {
    a: 2,
    f: f
}
var f2 = obj.f; 
var a = "hello world"; 
f2();

在这里插入图片描述

function f( something ) {
    console.log( this.a, something)
    return this.a + something
}
var obj = {
    a: 2
}
var f2 = function() {
    return f.apply( obj, arguments)  //arguments--3
}
var b = f2(3); 
console.log(b); 

在这里插入图片描述

评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值