new-this-原型-预编译练习题

这篇博客探讨了JavaScript中的作用域、函数调用以及this的指向问题。通过示例展示了fn函数内的rank方法、fn对象上的rank属性、原型链上的rank方法以及全局rank变量的定义和使用。同时,解释了不同调用方式下rank()的执行结果,包括fn.rank()、rank()、fn().rank()、new fn.rank()和new new fn().rank()等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

function fn() {
			  rank = function() {
			    alert("回锅肉")
			  }
			  console.log(this);
			  return this
			}
			fn.rank = function() {alert("青椒肉丝")}
			fn.prototype.rank = function() {alert("土豆肉丝")}
			var rank = function() {alert("红烧肉")}			
			function rank() {alert('鱼香肉丝')}
			/*
			  某一个作用域中代码的运行流程:
			  形参声明/变量声明  实参赋值  函数提升  运行代码
			  
			  var rank;
			  function fn() {
			    rank = function() {
			      alert("回锅肉")
			    }
			    console.log(this);
			    return this
			  }
			  function rank() {alert('鱼香肉丝')}
			  fn.rank = function() {alert("青椒肉丝")}
			  fn.prototype.rank = function() {alert("土豆肉丝")}
			  rank = function() {alert("红烧肉")}
			  rank = function() {alert("回锅肉")}
			  rank = function() {alert("回锅肉")}
			  rank = function() {alert("回锅肉")}
			  
			*/
			
			
			fn.rank()//青椒肉丝       
			rank()//红烧肉        
			fn().rank()//window ==>window.rank() 回锅肉    
			rank() //回锅肉       
			new fn.rank()// () > 成员访问|new 带参  > new 无参|函数调用
			// new (fn.rank) () ==> new 函数 ()
			//青椒肉丝  
			new fn().rank() 
			// (new fn()).rank()
			//创建的对象 土豆肉丝
			
			new new fn().rank() 
			// new ((new fn()).rank)() 
			//创建的对象 土豆肉丝
			

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值