如何理解js中temp = ( function(){ return 'abc' } )()

编程技术  /  houtizong 发布于 3年前   75

如何理解temp = ( function(){ return 'abc' } )() 

其实就是把运行结果返回给前面这个变量。

例如: 
temp = ( function(){ return 'abc' } )()
其运行结果就是temp='abc',

相当于:
function fun()
{
    return 'abc';


temp = fun();

alert(temp);

弹出来的结果就是abc。

 

 

第二个括号也可以放置参数,例如:

  var temp=(function(str){alert(str);return str;})('出来!');
  alert(temp);

将会弹出两个“出来!”的结果,其中后面这个括号里的是传入第一个括号里函数的参数,

当然在这个函数中如果没有“return str;”这个语句,变量temp是没有值的。

相当于:

var temp=fun('出来!');
 function fun(str){
  alert(str);
  return str;
 }

 

 

 

(function(){var i=100;alert(i)})()
这种写法就是传说中的匿名函数,它的好处是函数内部定义的对象在函数外面永远无法访问,除此之外这个匿名函数也是不可被其它代码访问的,即使得对象之间不 容易被命名污染(在 js中很多错误是由于对象命名冲突引起的)。按照通常的写法我们会这样写function a(){var i = 100;alert(i)};a();这样写就留下了一个对象a(在不要再用的时候就成了内存垃圾)。

请勿发布不友善或者负能量的内容。与人为善,比聪明更重要!

留言需要登陆哦

技术博客集 - 网站简介:
前后端技术:
后端基于Hyperf2.1框架开发,前端使用Bootstrap可视化布局系统生成

网站主要作用:
1.编程技术分享及讨论交流,内置聊天系统;
2.测试交流框架问题,比如:Hyperf、Laravel、TP、beego;
3.本站数据是基于大数据采集等爬虫技术为基础助力分享知识,如有侵权请发邮件到站长邮箱,站长会尽快处理;
4.站长邮箱:[email protected];

      订阅博客周刊 去订阅

文章归档

文章标签

友情链接

Auther ·HouTiZong
侯体宗的博客
© 2020 zongscan.com
版权所有ICP证 : 粤ICP备20027696号
PHP交流群 也可以扫右边的二维码
侯体宗的博客