AIDE技术官网
AIDEZY.COM

Js函数赋值给变量的两种情况

JS声明数组的四种方式

Js函数赋值给变量的两种情况

在js当中我们的函数是可以当做一个值进行赋值给其他变量或者方法的,这也是js中的一个特色

 

 

第一种加括号的情况:

比如我们在js中定义一个t函数,我们可以直接把,t函数给它赋值给一个cat.name2,然后直接调用函数,此时运行会弹出一个‘狗’,为什么会是弹出‘狗’呢? 因为当this为空的时候,可以把它理解为window对象的一个方法了,也就是this.name  =  window.name,我们在函数外面声明了window.name等于’狗’,所以就会弹出了,而在php等其他编程语言当中这样是绝对不行的。

function t(){
	alert(this.name);
}

window.name = '狗';


var cat = {
	name:'猫',
}

cat.name2 = t();



cat.name2();

 

 

第二种不加括号的情况:

那么我们文章的标题是,赋值的两种情况,那么还有一种情况是什么呢,看下面的代码,此时你会发现我们的t函数赋值的时候并没有加括号了,那么这就是第二种情况,这次和第一种情况有什么不同呢?第一种情况的t(),我们可以理解为,把t()函数运行的结果赋值给cat.name2了,所以执行结果为‘狗’,那么这个不加括号的赋值,我们首先看t函数里面的内容:alert(this.name);  那么这个this是谁? 因为我们把t函数赋值给cat.name2,此时的this就指向了,而不是window对象,通俗易懂的讲,也就是把t函数里面的方法拿过来了然后他的name值为’猫’,而不是把运算结果’狗’直接过来。

function t(){
alert(this.name);
}

window.name = '狗';


var cat = {
name:'猫',
}

cat.name2 = t;


cat.name2();

 

 

 

搜一下

海报生成 赞(0) 打赏

来都来了!评论一下呗! 抢沙发

  • QQ (自动获取名称头像等信息|选填)
  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址 (选填)

登录

忘记密码 ?

切换登录

注册